2012-12-05 9 views
9
einreichen in

ich das ajaxForm Plugin here gefundenÄndern der Daten vor

bin mit

Jetzt habe ich eine Form mit Benutzername & Passwort

Meine Forderung ist, den Wert von Passwort zu ändern Feld zu seinem md5 so dass ich das Plugin verwende here

so für dass ich so bin mit:

$('myForm').ajaxForm({ 

    url : 'pathtosend', 
    type : 'post', 
    beforeSubmit : function(arr, $form, options){ 
     $('#password').val($.md5($('#password').val())); 
    }, 
    success : function(response, statusText, xhr, $form){ 
     alert('blah blah'); 
    } 
}); 

Nun, wenn ich den Wert von Passwort in Java-Servlet-Code drucken zeigt es die eine, die ich bestehen und nicht die md5 des Wertes als ich hat getan.

Wenn ich die Codierung dem Klicken der Absenden-Button verändert und manipuliert die ihre getan vorlegen, so meine Frage ist, was ist die Bedeutung von beforeSubmit, wenn die Daten nicht verändert zu gehen reflektieren in der einreichen

Antwort

15

Sie benötigen beforeSubmit Funktion, dies ändern:

beforeSubmit : function(arr, $form, options){ 
     arr.push({name:'hashed-password', value:$.md5($('#password').val())}) 
    }, 

Dann können Sie den Hash-p zugreifen Assword-Variable in Ihrem Servlet.

Der Grund dafür ist, dass der Wert aus der Texteingabe bereits von AjaxForm verarbeitet und im Array arr gespeichert wurde.

Edit: wenn Sie nicht das Klartext-Passwort senden möchten, können Sie Ihre ursprüngliche Methode verwenden, aber ändern beforeSubmit : function(arr, $form, options){-beforeSerialize : function() {

Verwandte Themen