Jor*_*eno 3 html javascript jquery
有没有办法可以访问浏览器在表单提交时编译的数据数组 - 在js/jq中实际的GET/POST操作之前?
$("form").submit(function(event){
event.preventDefault();
//give me the data array here
});
Run Code Online (Sandbox Code Playgroud)
我发现自己越来越多地使用AJAX - 我调用event.preventDefault(),获取$(this)(表单)中包含的所有元素的名称/值对,然后通过它们将它们推送到服务器$.post().手动组装数据阵列变得很痛苦.如果插件存在各种各样的话会很棒:
$data = $("form").gimmeData();
Run Code Online (Sandbox Code Playgroud)
是否存在支持所有主要HTML输入元素的类似内容?我接近这种方式错了吗?谢谢!
是的,jQuery有一个"serializeArray()"方法,可以满足您的要求.
它返回一个数组,如:
[ { name: "something", value: "whatever" }, { name: "another_one", value: 22 } ]
Run Code Online (Sandbox Code Playgroud)
你可以把它变成像这样的对象:
var arr = $('#form_id').serializeArray(), obj = {};
for (var i = 0; i < arr.length; ++i)
obj[arr[i].name] = arr[i].value;
Run Code Online (Sandbox Code Playgroud)
如果名称在表单中出现多次,则其"值"将是来自单独字段的值数组.
| 归档时间: |
|
| 查看次数: |
3025 次 |
| 最近记录: |