在提交之前更改数据
我正在使用这里找到的ajaxForm插件
现在我有一个用户名和密码的表格
我的要求是将密码字段的值更改为其md5,以便我使用此处的插件
所以我这样使用:
$('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'); } });
现在,当我在java servlet代码中打印password的值时,它会显示我传递的那个,而不是像我那样显示值的md5。
当我将编码更改为单击提交按钮并操纵提交完成时,我的问题是,当提交的数据未在提交中 反映时, beforeSubmit的意义是什么
您需要将beforeSubmit函数更改为:
beforeSubmit : function(arr, $form, options){ arr.push({name:'hashed-password', value:$.md5($('#password').val())}) },
然后,您可以访问servlet中的hashed-password变量。
原因是文本输入的值已经由AjaxForm处理并存储在arr数组中。
编辑:如果您不想发送明文密码,可以使用原始方法,但更改beforeSubmit : function(arr, $form, options){
to beforeSerialize : function() {