Javascript 使用jQuery验证插件';s submitHandler方法
首先是来自jQuery验证插件的一些文档: 使用submitHandler处理某些内容,然后使用默认的submit。请注意,“form”指的是DOM元素,这样验证就不会再次触发 所以,很自然地,我的一段巧妙的代码不起作用了。我正试图从表单对象访问'action'属性和两个输入字段,但运气不好。我该怎么做呢?试试这个:Javascript 使用jQuery验证插件';s submitHandler方法,javascript,jquery,ajax,jquery-validate,Javascript,Jquery,Ajax,Jquery Validate,首先是来自jQuery验证插件的一些文档: 使用submitHandler处理某些内容,然后使用默认的submit。请注意,“form”指的是DOM元素,这样验证就不会再次触发 所以,很自然地,我的一段巧妙的代码不起作用了。我正试图从表单对象访问'action'属性和两个输入字段,但运气不好。我该怎么做呢?试试这个: submitHandler: function(form) { $.ajax({ type: 'POST', url: $(form).at
submitHandler: function(form) {
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: { current_password : form.current_password.value,
new_password: form.new_password.value }
success: function(){
alert("succes");
}
});
}
当前,它不是提交元素的值,而是在元素上调用toString,因此只需添加
.value
即可获得值。另外,我们在这里将数据作为对象传递,以便对其进行编码,否则,例如,如果密码中有&
,则帖子将不正确。运行此操作时会出现什么错误?如果我将form.action更改为$(form.attr('action'),并让数据被编码,那么它将提交以下内容:current\u password=[object HTMLInputElement]&new_password=[object HTMLInputElement]在FireBug中数据对象工作得很好,但我在尝试访问form.action时仍然出错。有没有方法从对象调用此属性?@soren.qvist-您的
元素看起来像什么?还有$(form.attr('action'))
给出不同的结果?$(form).attr('action')很好。但我担心这种方法是递归的,即再次选择表单而不是使用当前对象。@soren.qvist-哦,不,这样做很好,你只是不想做$(form).submit()
特别是,因为这会再次调用submitHandler
:)哦,好吧,那么我想这很好!非常感谢您的帮助。
submitHandler: function(form) {
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: { current_password : form.current_password.value,
new_password: form.new_password.value }
success: function(){
alert("succes");
}
});
}