jquery,发现一个问题,当表单属性为disabled时,$("#formId"). serialize()取不到该表单的值。如何才能取

jquery,发现一个问题,当表单属性为disabled时,$("#formId"). serialize()取不到该表单的值。如何才能取,第1张

form disabled掉是可以取到的

如果form里的表单标签被disabled掉了就取不到 ,disabled状态下是不能传值的

只能在取值的瞬间将他们的disabled属性remove掉,取完后再还原

input的字段当为disabled时时无法获取数值得,所以尽量不要用这个,我们可以用readonly带替代,即可解决这类问题。

放在form表单中提交后得不到该值。 

将disabled="disabled" 改为 readonly = "readonly" 即可 ,按照W3C的规范

设置为disabled的input将会有下面的限制: 

1不能接收焦点 

2使用tab键时将被跳过 

3可能不是successful的 

设置为readonly的input将会有下面的限制: 

1可以接收焦点但不能被修改 

2可以使用tab键进行导航 

3可能是successful的 

只有successful的表单元素才是有效数据,也即是可以进行提交。disabled和readonly的文本输入框只能通过脚本进行修改value属性。 

一、来看看这两个属性在效果和使用上的区别。

1readonly是要锁定这个控件,通过在界面上无法修改他(但是通过javascript可以修改他)。

2 disabled 和readonly有相同的地方也是可以锁定这个控件用户不能改变他的值,但是disabled的更彻底一些,他是要使你完全不能使用他,包括改变他的背景颜色(不信,你去修改一个被disabled掉的input文本框,你发现你是徒劳),如果是checkbox则不能选中他。

3 所有控件都有disabled 属性,但是不一定有readonly属性,如select 下拉框。

(1)text

(2) checkBox

(3)select下拉选择框(这里只能显示disabled和非disabled的区别,因为select 没有readonly属性

(4)button按钮

说明:点击被readonly掉的按钮照样可以触发事件,但是被disabled掉的按钮就无法使用了不管上面有没有事件。

(5)div

说明:将div设置disabled属性之后,整个div都灰掉了,但是文本框里面还是可以输入内容的。

注意:select下拉选择框是没有readonly属性的

参考原文链接: >

disabled禁用表单字段。

虽然浏览器带有默认样式,但是在某些场景,比如button元素,我们通常都会自定义样式,这样将会覆盖浏览器的默认样式,造成disabled生效时,无明显现象。

从上图可以看出,自定义样式层叠的权重比较高,将浏览器的默认样式覆盖了。

readly适用于表单文本类元素(input[text,password,file],textarea)

readly可使文本框聚焦

disabled对a链接是无效的。

优点: 简单

缺点:只能禁止鼠标事件

readonly对以上三个元素无效。

方案:

- 设置disabled属性(将导致不提交此元素)

- 将元素的值存储在hidden中

以上就是关于jquery,发现一个问题,当表单属性为disabled时,$("#formId"). serialize()取不到该表单的值。如何才能取全部的内容,包括:jquery,发现一个问题,当表单属性为disabled时,$("#formId"). serialize()取不到该表单的值。如何才能取、表单input中disabled提交后得不到值的解决办法、disabled属性样式问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9759814.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存