a标签ajax提交form表单提交表单,关于Jquery 获取表单FORM所有元素进行AJAX提交

前提交代:

获取 表单FROM所有的元素可以采用var a = $('#form_id').serializeArray() 进行获取;

var form_data = $.serializeArray() 获取的数据以对象结构返回,如:

{ [‘name’='a', 'value'='1'], [‘name’='b', 'value'='2'] }

注意:$.serializeArray() 会过滤掉 被禁用的 元素

form_data 对象用 $.each 进行分解

var m = [];

$.each(x, function(i, field){

m.push('"' + field.name + '":"' + encodeURI(field.value) + '"');

});下面看一下实例:

HTML

脚本

// 取得指定FORM里的元素

var x = $('#F_id').serializeArray(),

var m = [], idata;

// 按 AJAX数据格式归入数组,方便后面的数据打包

$.each(x, function(i, field){

// 由于会出现"双引号字符会导致接下来的数据打包失败,故此对元素内容进行encodeURI编码

// 后台PHP采用urldecode()函数还原数据

m.push('"' + field.name + '":"' + encodeURI(field.value) + '"');

});

idata ='{' + m.join(',') + '}';

// 按字符 idata 转换成 JSON 格式

idata = eval('(' +idata+ ')');

$.getJSON(url, idata, function(data){

/* 处理 ajax 返回结果,这个根据自己的需要编写 */

});

2017-07-01 添加另一个方式,比较效率:(原来还有个JSON可以直接处理的)

var params = $("#F_id").serializeArray();

var values = {};

for( x in params ){

values[params[x].name] = params[x].value;

}

var idata = JSON.stringify(values)

);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值