javascript - 尝试对 onSubmit 中的参数使用序列化时失败 ='return function(this)'

标签 javascript jquery ajax forms onsubmit

这里是 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/

相关文章:

javascript - Jquery 移动底部导航栏

jquery - YUI 如何包含特定模块?它是如何运作的?

javascript - 带有 JSON 返回的 AJAX 请求未按照我的预期行为进行响应

javascript - CasperJS 按钮被点击但没有重定向

javascript - 如何修改这个程序,我想要下一页链接

javascript - 如何根据出现在许多地方的另一属性对一个 JSON 属性进行分组?

javascript - Zend 框架中的 Google CDN

javascript - 使用 jQuery 对解析数据进行排序

php - Ajax/js 刷新,限制从 php/sql 显示/获取的内容

javascript - 使用 JQuery 的登录页面