无言者 发表于 2018-1-9 14:30:43

表单input中disabled提交后得不到值的解决办法

本帖最后由 无言者 于 2018-1-9 14:32 编辑

input的字段当为diabled时时无法获取数值得,所以最近不要用这个,我们可以用readonly带替代,即可解决这类问题。
<input name="country" id="country" size=12 value="disabled"disabled="disabled" >

放在form表单中提交后得不到该值。
将disabled="disabled" 改为 readonly = "readonly" 即可 ,按照W3C的规范

设置为disabled的input将会有下面的限制:
1.不能接收焦点
2.使用tab键时将被跳过
3.可能不是successful的

设置为readonly的input将会有下面的限制:
1.可以接收焦点但不能被修改
2.可以使用tab键进行导航
3.可能是successful的
只有successful的表单元素才是有效数据,也即是可以进行提交。disabled和readonly的文本输入框只能通过脚本进行修改value属性。

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

1 readonly是要锁定这个控件,通过在界面上无法修改他(但是通过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属性的


无言者 发表于 2018-1-9 14:32:50

{:0010:}{:0010:}{:0010:}
页: [1]
查看完整版本: 表单input中disabled提交后得不到值的解决办法