[Jquery-Es] Saber quien envió el formulario usando jQuery form plugin

stripTM fer en striptm.com
Sab Sep 1 09:58:34 PDT 2007


stripTM escribió:
> Estoy utilizando jQuery form plugin ( http://www.malsup.com/jquery/form/ )
> para una página que tiene muchos formularios y lo que pretendo es que el 
> botón de enviar se vea diferente si uno de los campos ha sido modificado 
> y que mantenga su aspecto normal si no hay nada diferente que guardar.
>
>   
La solución ha sido en el beforeSubmit (que si que tengo acceso al 
formulario) guardarlo como atributo del objeto global (this) y en el 
complete recuperarlo.

El código:

MANTENIMIENTO = {
    inicio : function() {
        var options = {
            beforeSubmit : MANTENIMIENTO.antesEnviar,
            complete: MANTENIMIENTO.despuesEnviar,
          type: 'post',
          oFormOrigen: null
      };
        $("form").ajaxForm(options);

        $('form.bloqueFormulario input[@type=text], 
form.bloqueFormulario select').bind("change",
            function(evento) {
                MANTENIMIENTO.sucio($(evento.target.form), true);
            });

    },
    sucio : function(oForm, bEstado) {
        if (bEstado)
            oForm.find("input[@value=Guardar]").addClass("modificado");
        else
            oForm.find("input[@value=Guardar]").removeClass("modificado");
    },
    antesEnviar : function(formData, jqForm, options) {
        //$.log("beforeSubmit");
        this.oFormOrigen = jqForm;
        MANTENIMIENTO.sucio($(this.oFormOrigen), true);
    },
    despuesEnviar : function(oXHR) {
        //$.log("despuesEnviar");
        MANTENIMIENTO.sucio($(this.oFormOrigen), false);
    }

}

$(document).ready(MANTENIMIENTO.inicio);


-- 
Saludos -=stripTM=-



Más información sobre la lista de distribución Jquery-Es