Я хочу написать свою собственную библиотеку javascript для проверки формы, и я искал в Google, как определить, нажата ли кнопка отправки, но все, что я нашел, - это код, в котором вы должны использовать onClick on onSubmit="function()"
в html.
Я хотел бы сделать этот javascript, чтобы мне не приходилось трогать какой-либо html-код, например, добавлять javascript onSubmit или onClick.
document.forms['yourForm'].onsubmit = function(){}
? ИлиaddEventListener
?Ответы:
Почему люди всегда используют jQuery, когда в этом нет необходимости?
Почему люди не могут просто использовать простой JavaScript?
callback
- это функция, которую вы хотите вызвать при отправке формы.О
EventTarget.addEventListener
, ознакомьтесь с этой документацией на MDN .Чтобы отменить собственное
submit
событие (предотвратить отправку формы), используйте.preventDefault()
в своей функции обратного вызова,Прослушивание
submit
мероприятия с библиотекамиЕсли по какой-то причине вы решили, что библиотека необходима (вы уже используете ее или не хотите иметь дело с кроссбраузерными проблемами), вот список способов прослушивания события отправки в общих библиотеках:
JQuery
Где
ele
ссылка на элемент формы и ссылкаcallback
на функцию обратного вызова. СсылкаПоказать фрагмент кода
AngularJS (1.x)
Очень просто, где
$scope
находится область, предоставляемая фреймворком внутри вашего контроллера . Ссылкареагировать
Просто передайте обработчик
onSubmit
опоре. СсылкаДругие фреймворки / библиотеки
Обратитесь к документации вашего фреймворка.
Проверка
Вы всегда можете выполнить свою проверку в JavaScript, но с HTML5 у нас также есть собственная проверка.
Вам даже не нужен JavaScript! Если собственная проверка не поддерживается, вы можете вернуться к валидатору JavaScript.
Демо: http://jsfiddle.net/DerekL/L23wmo1L/
источник
Это самый простой способ вызвать собственную функцию javascript при возникновении
onSubmit
ошибки.HTML
JavaScript
источник
bind
действительно не нужно.В зависимости от ваших требований вы также можете делать следующее без таких библиотек, как jQuery:
Добавьте это себе в голову:
И ваша форма может по-прежнему выглядеть примерно так:
источник
addEventListener
вместо onsubmit или onload, чтобы другие разработчики могли добавлять своих слушателей.С jQuery:
источник