Pregunta sobre javascript – Todo el formulario enCambiar

27

Como puedo usaronChange o un evento similar para todosform ¿elementos? No quiero usaronChange para cada campo por separado.

haceesta ¿ayuda? Nadir Sampaoli
¿Por qué no? En el evento HTML, puede llamar a la misma función cada vez, por lo que es una cuestión de copiar y pegar, probablemente, no más de 20 caracteres y escribir 1 función. 11684

Tu respuesta

2   la respuesta
34

Si está usando jQuery, puede usar elchange evento en el elemento de formulario, porque en jQuery el evento burbujea.

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

Si está utilizando un javascript sin formato, el evento de cambio no burbujea (al menos no se cruza en el navegador). Por lo tanto, tendría que adjuntar el controlador de eventos a cada elemento de entrada por separado:

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

(por supuesto, tendrías que hacer algo similar a todas las selecciones y áreas de texto)

Excelente respuesta. Jake
@ TonyMerryfield: IE9 Mori
Gracias por la respuesta, ¿sabe cuál es la versión mínima de IE que la soporta? No puedo encontrar información decente para las búsquedas que he hecho, probablemente demasiado genéricas en mis términos de búsqueda ... :) Tony Merryfield
Eso es genial gracias. Nunca logré encontrar información sobre esto, pero lo he estado utilizando en un proyecto y funciona bien para los navegadores que admitimos :) Tony Merryfield
7

Puedes usar elchange evento en elform elemento:

formElement.addEventListener('change', doSomething);
Gracias. Después de hacer algunas pruebas, simplemente agregaré que el evento de 'cambio' aquí es perfecto para esto, porque para las entradas de texto no se dispara con cada tecla pulsada, pero, como es de esperar, en borroso si hubiera una cambio. Como aquí:jsfiddle.net/54dftpL6 - asi parece serla Solución para la tarea "guardar formulario automáticamente en cualquier cambio", que acabo de completar a tiempo mucho más corto de lo que esperaba :) konrados
Pulgar arriba para responder a su propia pregunta 6 años después. Qwerty

Preguntas relacionadas