我将 jQuery 与表单插件结合使用,我想在提交之前拦截表单数据并进行更改。
表单插件有一个名为 beforeSubmit 的属性,它应该执行此操作,但我似乎无法让我指定的函数运行。
这是表单的标记(省略了一些样式细节):
<form id="form1">
<fieldset id="login">
<legend>Please Log In</legend>
<label for="txtLogin">Login</label>
<input id="txtLogin" type="text" />
<label for="txtPassword">Password</label>
<input id="txtPassword" type="password" />
<button type="submit" id="btnLogin">Log In</button>
</fieldset>
</form>
这是我到目前为止的javascript:
$(document).ready(function() {
var options = {
method: 'post',
url: 'Login.aspx',
beforeSubmit: function(formData, form, options) {
$.each(formData, function() { log.info(this.value); });
return true;
}
};
$('form#form1').ajaxForm(options);
});
(log.info() 来自我正在使用的Blackbird调试器库)
当我单击提交按钮时,而不是我指定的 POST 动词,它使用 GET 代替,并且我的 beforeSubmit 函数没有记录任何内容。似乎 ajaxForm 插件根本没有应用于表单,但我不明白为什么。有人可以帮忙吗?