jQuery-如何在data()对象中存储表单值?

前端之家收集整理的这篇文章主要介绍了jQuery-如何在data()对象中存储表单值? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

提交后是否有一种简单的方法将表单数据存储在data()对象中?

假设这是我的表格:

  1. <form id='myform'>
  2. <input type='text' name='bar' value='lorem'/>
  3. <input type='text name='foo' value='ipsum'/>
  4. </form>

提交后,数据应这样存储:

  1. $("#myform").data('bar','lorem');
  2. $("#myform").data('foo','ipsum');
最佳答案
您可以执行以下操作:

  1. $('#myform').submit(function(e) {
  2. e.preventDefault(); // don't submit the form
  3. var form = $(this); // store it for later reference
  4. form.children('input').each(function() {
  5. form.data($(this).attr('name'),$(this).attr('value'));
  6. });
  7. });

编辑:我的代码中有一些错误(getChildren»孩子,myform»#myform)–我现在已更正它.

请注意,此脚本不会提交表单.您可以添加some nifty ajax来做到这一点:)
http://docs.jquery.com/Ajax/serialize

更新:实际上,jQuery已经内置了以下功能form.serialize().它返回一个有效的查询字符串:

  1. <form id="myForm">
  2. <input type="radio" value="A" name="foo" checked="checked" /> A<br />
  3. <input type="radio" value="B" name="foo" /> B
  4. <input type="text" name="bar" value="Bla bla" />
  5. </form>
  6. <script>
  7. var queryString = $('#myForm').serialize(); //foo=A&bar=Bla+bla
  8. </script>

猜你在找的jQuery相关文章