[英]jquery.validate plugin accessing the form in ajax success callback
我对如何使用jQuery.validate插件访问提交的表单感到困惑。
在API选项的“成功”选项中: http : //jquery.malsup.com/form/#options-object
它说成功函数中的第4个参数是jquery包裹的表单对象,但是我用jQuery访问它的尝试一直在说它undefined
。
这是成功函数在其示例页面上的外观: http : //jquery.malsup.com/form/#ajaxSubmit
function showResponse(responseText, statusText, xhr, $form) {
var id=$form.attr('id');
console.log('id:'+id);
}
不幸的是,console.log提示Uncaught TypeError: Cannot call method 'attr' of undefined.
有什么想法吗?
谢谢,蒂姆
该变量不能以$
开头。 删除$
然后重试?
function showResponse(responseText, statusText, xhr, form) {
var id = form.attr('id');
console.log('id:'+id);
}
或者这可能是另一个解决方案,如果不是jQuery object
:
function showResponse(responseText, statusText, xhr, form) {
var id = $(form).attr('id');
console.log('id:'+id);
}
其他可能性
function showResponse(responseText, statusText, xhr, form) {
var id = $(form).attr('id');
console.log('id:'+id);
}
function showResponse(responseText, statusText, xhr, form) {
var id = form.attr('id');
console.log('id:'+id);
}
function showResponse(responseText, statusText, xhr, $form) { // Won't work
var id = form.attr('id');
console.log('id:'+id);
}
function showResponse(responseText, statusText, xhr, $form) { // High chance
var id = $($form).attr('id');
console.log('id:'+id);
}
希望这可以帮助! :)
我通过每次显式写出jQuery表单选择器而不尝试将其作为对象传递来解决了这个问题。
因此,我没有尝试传递$form
而是使用了以下方法:
$('#myForm').attr(...)
它比较冗长,但至少可以正常工作!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.