我想在使用AjaxSubmit函數在Jquery上提交表單之前覆蓋「password」字段的值。 我知道我可以只更新輸入字段的值,但我不希望用戶看到這個轉換。換句話說,我只想發送一個自定義值到密碼字段並保持屏幕上的當前值...發送之前的AjaxSubmit覆蓋表單字段
我該怎麼做?
我當前的代碼:
var loginoptions = {
success: mySuccessFuction,
dataType: 'json'
}
$('#My_login_form').submit(function(e) {
e.preventDefault();
var pass=$("#My_login_form_password").val();
if (pass.length>0){
loginoptions.data={
password: ($.sha1($("#My_login_form_csrf").val()+$.sha1(pass)))
}
$("#My_login_form").ajaxSubmit(loginoptions);
delete loginoptions.data;
});
這段代碼的問題是,它在發送與表單字段值,一個複製一個與我的「loginoptions設置的值了「密碼」 POST變量。數據」。
您可以使用jQuery.post而不是ajaxform插件。那麼你會更好地控制發送的數據。 – Andbdrew 2012-04-03 12:08:02
我不認爲你需要散列密碼clientside。對於最簡單的攻擊,發送清除密碼或散列是沒有區別的。在任何情況下,您都需要對密碼serverside進行散列和加密。無論如何,使用現有的認證模塊更安全。 – Christoph 2012-04-03 12:16:59
我會優先使用ajaxSubmit函數,但如果沒有辦法做到這一點,我想我會改變它發佈你有說Andbdrew。 – 2012-04-03 12:25:06