这里是 javascript 新手,如果这是初级的,很抱歉...
所以我有一个表单,我想在确认后对其进行一些 AJAX(提交后确认框)。问题的最外层是serialize() 不起作用——它返回一个空字符串。显然,我怀疑它不起作用的原因还有更多......
我的目标是让表单转到 onsubmit 方法 (confirm_delete()),在此基础上完成一些 AJAX(当用户确认希望删除时)。不管怎样,我不希望表单提交并加载新页面——因此出现“return false;”——我希望 AJAX 接管。
所以......这是形式:
<form class='delete_item' method='post' onSubmit='return confirm_delete(this)'>
//lots of inputs here. . . .
<button type='submit' class='btn-xs btn-danger remove_submit'>X</button>
</form>
这是我的 javascript/AJAX 尝试...
function confirm_delete(form){
var r = confirm("Are you sure you want to delete?");
var data = form.serialize();
// var x = 9;
if (r == true) {
$.ajax({
type: 'post',
data: data,
datatype: 'json',
success: function(response){
alert('hi');
//do stuff….
}
});
return false;
} else {
return false;
}
}
谢谢。
最佳答案
.serialize
是一个 jQuery 方法,而不是 native JavaScript
方法,因此您需要利用 jQuery
包装器 ($ ()
) 使用它
//..
function confirm_delete(form){
var r = confirm("Are you sure you want to delete?");
//note the $(form).serialize() vs form.serialize()
var data = $(form).serialize();
//rest of your code...
关于javascript - 尝试对 onSubmit 中的参数使用序列化时失败 ='return function(this)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957615/