Submit Event Listener для формы

Я написал прослушиватель событий для отправки формы, который вызывает у меня несколько проблем. При нажатии Enter внутри текстового поля все работает нормально. Однако у меня есть диапазон (с фоновым изображением), который также отправляет форму через событие щелчка. Это не работает должным образом, и я не могу понять, почему.

Вот ' s базовый HTML:

<form name="myForm">
  <input type="text" name="search" />
  <span id="search-button"></span>
</form>

Вот JS для прослушивателя событий:

function evtSubmit(e) {
  // code
  e.preventDefault();
};

var myform = document.myForm;
if (myform.addEventListener) {
  myform.addEventListener('submit', evtSubmit, false);
}

А вот JS для 'диапазона' и его события щелчка:

var searchButton = document.getElementById('search-button');
if (searchButton) {
 searchButton.onclick = function() {
  document.myForm.submit();
 };
}

ПРИМЕЧАНИЕ. JS для события щелчка диапазона находится в отдельном JS файл и недоступный банкомат, поэтому изменение этого сценария не представляется возможным. Если единственный способ решить эту проблему - обновить этот файл, я могу ... но из-за процессов, не зависящих от меня, это намного сложнее.

5
задан CoryDorning 1 October 2010 в 16:47
поделиться