表单提交获取不到元素

$("#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;加上灰色背景色就可以。

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部