Intenté buscarlo pero no se encontraron resultados favorables.

No uso JQuery y quiero hacerlo con JavaScript puro. Quiero hacer lo mismo que <form onsubmit="somefunction();"> pero directamente desde JavaScript.

Algo así como:

if(document.getElementById("myid").ISSUBMIT) {
    somefunction();
}

En Jquery puedo hacerlo con on.submit, pero ¿cómo hacerlo en JavaScript? ¡Muchas gracias!

4
MM PP 29 ago. 2014 a las 16:24

2 respuestas

La mejor respuesta

Obtiene una referencia al elemento de formulario y luego:

  1. Asignar una función a onsubmit

    theFormElement.onsubmit = function() { /* ... */ };
    

    O

  2. Use addEventListener / attachEvent para enganchar el evento submit. Si no necesita soporte para IE8, puede usar addEventListener:

    theFormElement.addEventListener("submit", function(e) {
        // your code here
    }, false);
    

    Si también necesita soporte para IE8, probablemente quiera usar una función que maneje el hecho de que IE8 usa attachEvent en lugar de addEventListener, como el que está en esta respuesta.

Para obtener una referencia al formulario, puede usar un id en el formulario y usar document.getElementById, o (en cualquier navegador moderno, e incluso IE8) puede usar document.querySelector y cualquier CSS selector que encontrará el formulario.

7
Community 23 may. 2017 a las 12:30

Puede usar el evento JavaScript "onsubmit".

Html:

<form id="my-id">
    // elements
</form>

Javascript:

var form = document.getElementById( 'my-id' );
form.onsubmit = function(){
    // your code
};
5
DrGeneral 29 ago. 2014 a las 12:32