Я написал прослушиватель событий для отправки формы, что вызывает у меня несколько проблем. При нажатии «enter» внутри текстового поля все работает нормально. Тем не менее, у меня есть промежуток (с фоновым изображением), который отправляет форму также через событие click. Это не работает должным образом, и я не могу понять, почему.Представить слушателя событий для формы
Вот основной 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-файле и недоступном atm, поэтому изменение этого скрипта ss опциона. Если единственный способ исправить эту проблему - обновить этот файл, я могу ... но из-за процессов, которые не контролируются, это намного сложнее.
Это действительно хороший вопрос, который, вероятно, получить больше просмотров, если он был назван «Переопределение встроенного Javascript представить метод на форме» –