Вопрос по javascript – Вся форма на Изменение

27

Как я могу использоватьonChange или подобное событие для всехform элементы? Я не хочу использоватьonChange для каждого поля отдельно.

почему бы нет? В HTML-событии вы можете вызывать одну и ту же функцию каждый раз, так что это вопрос вставки копии, вероятно, не более 20 символов и написания одной функции. 11684
делаетэт Помогите Nadir Sampaoli

Ваш Ответ

2   ответа
34

Если вы используете jQuery, вы можете использоватьchange событие в элементе формы, потому что в jQuery событие всплывает.

$('#formId').change(function(){...});

Если вы используете простой javascript, событие изменения не всплывает (по крайней мере, не в кросс-браузерном режиме). Таким образом, вы должны прикрепить обработчик событий к каждому элементу ввода отдельно:

var inputs = document.getElementsByTagName("input"); 
for (i=0; i<inputs.length; i++){
   inputs[i].onchange = changeHandler;
}

(конечно, вы должны сделать то же самое для всех выбранных и текстовых полей)

Отличный ответ. Jake
Теперь кажется, что все основные браузеры поддерживаютform onchange. Mori
@ Mori - не могли бы вы уточнить свой комментарий, пожалуйста, какая поддержка существует для замены формы сейчас? Tony Merryfield
@ Тони Меррифилд: СейчасformElement.addEventListener('change', doSomething); работает во всех основных браузерах. Mori
@ Mori Почему бы не дать реальный ответ на свой комментарий? Ideogram
7

Вы можете использоватьchange событие наform элемент:

formElement.addEventListener('change', doSomething);
Благодарность. После выполнения некоторых тестов - я просто добавлю, что событие 'change' здесь просто идеально подходит для этого, потому что для ввода текста оно не срабатывает при каждом нажатии клавиши, но, как и следовало ожидать - при размытии, если было менять. Как здесь: Jsfiddle.net / 54dftpL6 - так кажет решение задачи «автоматически сохранять форму при любом изменении», которую я только что выполнил в срок, намного короче, чем я ожидал konrados
Спасибо за ответ на свой вопрос 6 лет спустя. Qwerty

Похожие вопросы