jQuery - 在其他地方访问序列化数据

时间:2014-10-11 04:07:14

标签: javascript jquery

我正在编辑另一个人写过的jQuery。

在$(document).ready(function()中,他们有一些代码如下:

$(document).on('submit', ".editForm", function(e) {
    $.post( $(this).attr("action"), $(this).serialize(), function() {
        successMsg("Sorted.")
    })      
    e.preventDefault();
});

我需要做的是能够在另一个点击事件中访问该序列化数据。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

$(".editForm")选择器

使用 serialize()

$(document).ready(function() {
  $(document).on('submit', ".editForm", function(e) {
    $.post($(this).attr("action"), $(this).serialize(), function() {
      successMsg("Sorted.")
    });
    e.preventDefault();
  });
  $("#click").on("click", function() {
    alert($(".editForm").serialize());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<form method="post" class="editForm">
  <input name="fname" value="John" />
  <br/>
  <input name="lname" value="Doe" />
  <br/>
  <input type="submit" value="submit" />
  <input type="button" id="click" value="click" />
</form>

如果您想将其作为数组使用,请使用 serializeArray()

$(document).ready(function() {
  $(document).on('submit', ".editForm", function(e) {
    $.post($(this).attr("action"), $(this).serialize(), function() {
      successMsg("Sorted.")
    });
    e.preventDefault();
  });
  $("#click").on("click", function() {
    alert(JSON.stringify($(".editForm").serializeArray()));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<form method="post" class="editForm">
  <input name="fname" value="John" />
  <br/>
  <input name="lname" value="Doe" />
  <br/>
  <input type="submit" value="submit" />
  <input type="button" id="click" value="click" />
</form>