jquery - 如何序列化当前表单?

标签 jquery serialization

我正在使用 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() 时犯了一个错误,但我无法弄清楚,也无法在互联网上搜索它。

最佳答案

不要绑定(bind)到特定按钮的点击事件,使用表单本身的submit事件,然后你的表单将是this

$('form').submit(function (event) {
  event.preventDefault()
  $.ajax({
    data: $(this).serialize()
    ...
  });
});

如果您想使用按钮访问表单(如示例所示),您可以使用 $(this).closest('form').serialize()

关于jquery - 如何序列化当前表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20711919/

相关文章:

javascript - 表单将 <select> 提交为未定义

C++从文件的一部分加载数据

python cPickle不保存类列表

json - 使用 kotlinx.serialization 库反序列化具有不同值类型的 JSON 数组

javascript - 索引页不会在页面顶部打开,而是直接在页面表单上打开

javascript - 从对象值检索图像 url - Angular JS

javascript - 做出第一个下拉选择后锁定第二个下拉字段

javascript - jQuery 错误? .appendTo() 在 IE7 中不工作

serialization - 如何使用 Json.NET 在 C# 中序列化 "union-like"字段

java - 为什么 Java 中 Integer.parseInt(String str) 返回 int 而不是 Integer?