表单提交获取不到元素

"本文讲述了在使用$("#form").serialize()和$("#form").serializeJSON提交大量数据时,disabled和readonly属性的作用,以及如何正确处理它们以确保表单元素完整提交。特别强调了在禁用元素后如何临时恢复提交功能及两者在提交表单时的不同行为。"
摘要由CSDN通过智能技术生成

$("#form").serialize()、$("#form").serializeJSON表单以POST或GET的方式提交大量数据时,没有获取到表单内全部元素;

1、首先保证元素要有name属性,必写;

 2、不可设置为元素设置 disabled。
 

当然,设置为属性为"disabled"时,获取不到元素,可以在提交表单之前先移除disabled属性,比如$("#name").removeAttr(“disabled”);

提交完成后扔停留在提交页面且不允许修改,再把disabled属性加回来就是了,

$("#projectName").attr("disabled", true);

另外,说到disabled,会提到readonly:

disabled和readonly这两个属性有一些共同之处,比如都设为true,则form属性将不能被编辑,往往在写js代码的时候容易混合使用这两个属性,其实他们之间是有一定区别的。

某元素属性disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交。

readonly只针对input(text / password)和textarea有效,disabled对于所有的表单元素都有效,元素readonly属性设置为true,只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。

***:diabled可用readonly代替,background-color:#cccccc;加上灰色背景色就可以。

工作中遇到,想起来随便记一下,增加一下记忆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值