提交后是否有一种简单的方法将表单数据存储在data()对象中?
假设这是我的表格:
<form id='myform'>
<input type='text' name='bar' value='lorem'/>
<input type='text name='foo' value='ipsum'/>
</form>
提交后,数据应这样存储:
$("#myform").data('bar','lorem');
$("#myform").data('foo','ipsum');
最佳答案
您可以执行以下操作:
$('#myform').submit(function(e) {
e.preventDefault(); // don't submit the form
var form = $(this); // store it for later reference
form.children('input').each(function() {
form.data($(this).attr('name'),$(this).attr('value'));
});
});
编辑:我的代码中有一些错误(getChildren»孩子,myform»#myform)–我现在已更正它.
请注意,此脚本不会提交表单.您可以添加some nifty ajax来做到这一点:)
http://docs.jquery.com/Ajax/serialize
更新:实际上,jQuery已经内置了以下功能:form.serialize()
.它返回一个有效的查询字符串: