jQuery中的序列化表单(serialize)

昨天经站内一个朋友提醒,jQuery中有序列化表单的函数,不必在获取表单内元素的 时候逐个手写(原谅我如此无知。。)

今天早晨上班时查了下,顺手做个了小demo(serializeArray()),发现确实很好用,在此记录下——因为有个小小的坑。

很简单,

页面上定义好了 form 的ID之后, 就可以直接通过 $("#formsID").serializeArray() 来获取这个表单内的所有表单数据。

截图如下:

控制台打印的结果:

图中高亮部分也正是我想说的地方,serializeArray() 在获取表单内元素的时候,要保证表单控件有 name 属性的,否则会被忽略。

比如,我把上图中的ID为 txt1 和 txt3 的控件的 name 属性去掉,获取到的结果是这样的:

PS

经实测,在ASP.NET中,使用了母版页的情况下,由于母版页会自动生成一个form,这个时候页面上如果再自己手动添加一个form标签包裹要serialize的控件是不能正常工作的,serializeArray 的结果依然是空

如果把 $ 的选择器改为 母版页的话(例如,我这里自动生成的formID是: ctl01,就写: $("#ctl01").serializeArray())才可以,但是明显这样很蹩脚,

或者可以直接使用  $("form").serizlizeArray() 的方式,但是这样会把ASP.NET自动生成页面状态也包含进去,不知其他还有没有更好的方法,正在研究中。。。

转载于:https://my.oschina.net/bigtree/blog/609859

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值