Extensión jQuery para serializar formularios

Una cosa que se suele hacer bastante en javascript es resetear un formulario, es decir, devolver el formulario a su valor inicial.

Con jquery esto es bastante fácil:


$(

Trackback URL

, , , , ,

  1. jose
    17/11/2010 at 4:57 pm Permalink

    Puedes colocar un ejemplo de uso mas especifico ?

  2. luis alberto mayta mamani
    27/12/2010 at 8:55 am Permalink

    hola buenas la funcion es perfecta el unico problema es que lo envia ordenado y respeta el orden del array osea:
    check1 = 1
    check1 = 1
    check1 = 0
    check1 = 1

    ahora lo hago jserialize()

    y me lo envia de esta manera

    check1 = 1
    check1 = 1
    check1 = 1
    check1 = 0

    eso quiere decir que toma mas importancia a los que esta checked

  3. Pau Sanchez
    06/01/2011 at 3:25 pm Permalink

    Luis Alberto, me parece que deberias renombrar las variables… aunque alomejor estás usando un array… realmente el algoritmo del jserialize no ordena nada, pero tal vez al hacer el select en jQuery sí tenga un orden a la hora de coger los elementos, y éste sea distinto… de todos modos seguro que sigue el orden en el que los elementos aparecen en el DOM.

    Si el problema que tienes es el primero, te recomiendo renombrar las variables. Si estás usando check1[] en el formulario…. entonces tendrás que buscar otra solución, o renombrar las variables.

    Suerte.

  4. luis alberto mayta mamani
    21/01/2011 at 11:26 am Permalink

    bueno amigo ya me funciona hice este cambio
    bueno lo hice para mi cambio
    osea para que no lo ordene y lomande como tal
    se puede publir y mejorar pero ahora no cuento con mucho tiempo

    jQuery.fn.jserialize = function () {
    var serialized = this.serialize();

    serialized = serialized.replace(/status%5B%5D=1/g,»»);
    $(this).find(«:checkbox»).each (function() {
    var tofind = $(this).attr(«name») + «=» + $(this).val();
    var toreplace = $(this).attr(«name») + «=» + (this.checked ? «1» : «0»);

    serialized += «&» + toreplace;
    // if (this.checked) {
    // serialized = serialized.replace (tofind, toreplace); }
    // else{ serialized += «&» + toreplace; }
    });

    return serialized;
    }

    espero que lo veas y me digas como va

  5. Pau Sanchez
    21/02/2011 at 1:54 pm Permalink

    Luis Alberto no lo he probado, pero seguramente se puede limpiar un poco y hacer genérico.

    El concepto de lo que hace el algoritmo me gusta. Es sencillito pero hace el trabajo.

  6. Montes
    18/06/2012 at 11:37 am Permalink

    hola estoy intentando implimentar este codigo pero he tenido dificultades

    ayuda por favor

  7. Montes
    18/06/2012 at 2:39 pm Permalink

    hola amigos estoy interesado en adptar el codigo que compartes pero no se como hacerlo , me pueden ayudar

    $(document).ready(function() {

    $(‘#create_account’).click(function(){

    var dataString = $(‘#form_account’).serialize();

    //alert(‘Datos serializados: ‘+dataString);

    $.ajax({
    type: «POST»,
    url: «account.php»,
    data: dataString,
    success: function(data) {

    }
    });
    });
    });

    nombre
    boletin 1

    boletin 2