¿Cómo puedo realizar una acción inmediatamente después de un <input type="reset"/> ya ha restablecimiento de los elementos del formulario?

¿Cómo sobre la adición de un onclick controlador a la entrada?
HTMLFormElement.onreset funcionará muy bien. Link: w3.org/TR/DOM-Level-2-Events/…
Es generalmente mala práctica de incluir un botón de reset. A menudo, los usuarios a hacer clic en ellos accidentalmente y perder todo su trabajo. En la práctica, es muy raro que alguien realmente quiere restablecer el formulario.
Que los fuegos antes, no después. @Matt: Sí, gracias! @jimbojm: Sí, pero la persona que quiere esta página dice que quiere un botón de reset, por lo que no es mucho de una elección por mi parte. 😛 Gracias.
La suya es una afirmación muy atrevida. Usted podría estar interesado en esta discusión en la UX StackExchange de la comunidad acerca de los botones de reinicio.

OriginalEl autor Mehrdad | 2011-07-18

4 Comentarios

  1. 6

    Formas tienen un reset de evento que usted pueda escuchar.

    <script>
    function resetHandler() {
        //code
    }
    </script>
    <form ... onreset="resetHandler();">
    </form>

    Por supuesto, es una mala práctica para agregar controladores javascript de esta manera, por lo que es conveniente utilizar .addEventListener/.attachEvent o jQuery.bind(), pero usted consigue la idea.

    Ah, excelente, muchas gracias!
    resetHandler se ejecuta antes de que el formulario se restablece, no después!
    La pregunta es acerca de la ejecución de una función DESPUÉS de que el reset se hace, no antes, no al mismo tiempo. esta respuesta no es correcta.

    OriginalEl autor digitalbath

  2. 9

    Tratar :

    <input type="reset" onclick="return resetForm();"/>
    
    function resetForm(){
        setTimeout(function(){
            //do whatever
        }, 50);
        return true;
    }
    +1 para retrasar la función a fuego después el formulario que se restableció.
    Para todos los navegadores que he probado, establecer el tiempo de espera a 0 fue suficiente.
    Parece que esta es la única manera de ejecutar algo realmente tras el reset
    en realidad, usted no necesita el 50 ms, sólo el tiempo de espera es aplazar este proceso hasta el final de la js de procesamiento de la pila.

    OriginalEl autor ChristopheCVB

  3. 2

    Escribir código/eventos que quería llamar en medio de esta función. He probado esto. Las buenas condiciones de funcionamiento.

    $(document).ready(function() {
        $("input:reset").click(function() {       //apply to reset button's click event
            this.form.reset();                    //reset the form
    
            //call your functions to be executed after the reset      
    
             return false;                         //prevent reset button from resetting again
        });
    });
    El función de restablecimiento falla cuando en un control de formulario tiene el nombre o id ‘reset’

    OriginalEl autor Somnath Muluk

  4. -1

    Usted siempre puede usar jQuery, o hacer algunos trucos con forma de restablecer el suceso en sí.

    OriginalEl autor caarlos0

Dejar respuesta

Please enter your comment!
Please enter your name here