我正在使用jQuery来序列化提交按钮的形式。但是当我使用代码时,它会删除return false
的效果并刷新页面。当我删除序列化代码时,它运行良好!
我正在使用它:
$('input[value=Save]').click(function () {
$.ajax({
url: '/ajax_requests/update_info',
data: $(this).form.serialize(),
success: function (data) {
}
});
return false;
});
我确信在使用$(this).form.serialize()
时我犯了一个错误,但我无法弄明白,也无法在互联网上搜索。
答案 0 :(得分:3)
请勿绑定特定按钮的点击事件,使用表单本身的submit
事件,然后您的表单将为this
。
$('form').submit(function (event) {
event.preventDefault()
$.ajax({
data: $(this).serialize()
...
});
});
如果您想使用该按钮访问表单,请参阅示例中的$(this).closest('form').serialize()
。
答案 1 :(得分:2)
jQuery对象没有form
属性,你可以使用form
获取.prop('form')
但是返回的对象是DOM Element对象,使用serialize()
你应该用jQuery包装它,为什么不呢:
$(this.form).serialize(),