Todos,

Puedo restablecer todos mis elementos de formulario utilizando la siguiente Sintaxis de JQuery:

('#myform')[0].reset();

¿Cómo puedo modificar esto para excluir el restablecimiento de «la casilla» valores?

Gracias

OriginalEl autor Jake | 2010-01-04

4 Comentarios

  1. 10

    A todo el mundo..

    la función de reset, no establece que todo » (cadena vacía)

    se restablecen a sus valores iniciales .. (almacenado en el atributo de valor, o de la opción seleccionada etc..)

    Si quieres mantener el valor predeterminado restablecer funciones, a continuación, usted debe

    1. obtener todos los <select> elementos
    2. obtener sus valores actualmente seleccionados
    3. restablecer la forma como actualmente hace
    4. re-establecer el seleccionado

    ejemplo:

    <script type="text/javascript">
      $(document).ready(
      function(){
       $("#resetbutton").click(
        function(){
         var values = [];
         var selected = $("select").each(
          function(){
           values.push( $(this).val());
           });
         this.form.reset();
         for (i=0;i<selected.length;i++)
          $(selected[i]).val(values[i]);
        });
        }
      );
     </script>

    OriginalEl autor

  2. 6

    Que no jQuery, es nativa de javascript. [0] lleva a cabo el actual elemento de DOM, por lo que es de la misma como:

    document.getElementById('myform').reset();

    reset() es un navegador integrado en la aplicación que se restablece el formulario en su totalidad. Si usted necesita para restablecer la forma individual los tipos, intente algo como:

    $('#myform :text').val('');

    Puede ver toda forma de selectores aquí: http://docs.jquery.com/Selectors

    OriginalEl autor

  3. 0

    Puede hacer una falsa restablecer la configuración de los valores en una cadena vacía y el restablecimiento de las casillas de verificación usar David de la respuesta (o este más completos uno). También se podría tratar de almacenar cada elemento de selección del valor antes de restablecer el formulario y, a continuación, restaurar los valores después de:

    var myform = $('#myform');
    var selects = $('select', myform);
    
    //Store each current value
    selects.each(function() {
        $(this).data('previous', $(this).val()); 
    });
    
    myform[0].reset();
    
    //Restore the values
    selects.each(function() {
        $(this).val($(this).data('previous')); 
    });

    OriginalEl autor

  4. 0

    Por la razón que sea, David de la derecha-en la respuesta de error d mi Google Chrome js. Es decir:

    Uncaught TypeError: la Propiedad ‘reset’ del objeto # no es una función

    …así que me decidí a probar un poco diferente de solución:

    • Dar navegador nativo botones de restablecimiento de los atributos de «oculto» y establecer «id»:

    <input id="resetbutton" type="reset" style="visibility:hidden;" name="reset" value="reset" />

    • Iniciar JQuery evento «click» en el botón de reset al hacer clic en el enlace:

    <a href="#" onclick="$('#resetbutton').click();">Reset</a>

    OriginalEl autor

Dejar respuesta

Please enter your comment!
Please enter your name here