form表单输入框input设置disable属性提交后,得不到该输入框的值,解决该类问题可以参考以下方法:
使用readonly带替代disabled,即把 disabled=“disabled” 修改为 readonly="readonly"或readonly
<input type="text" class="background-color" value="123" name="ng_tip" id="ng_name" readonly="readonly"/>
--两种写法
<input type="text" class="background-color" value="123" name="ng_tip" id="ng_name" readonly/>
总结:
- disabled不能接收焦点,使用tab键时将被跳过,可能不是successful的;
- readonly可以接收焦点但不能被修改,可以使用tab键进行导航,可能是successful的。
- 注:只有successful的表单元素才是有效数据,即是进行提交后可以获取值。disabled和readonly的文本输入框只能通过脚本进行修改value属性。
- readonly是要锁定这个控件,通过在界面上无法修改他(但是通过javascript可以修改他)
- disabled 和readonly有相同的地方也是可以锁定这个控件用户不能改变他的值,但是disabled的更彻底一些,他是要使你完全不能使用他,包括改变他的背景颜色(不信,你去修改一个被disabled掉的input文本框,你发现你是徒劳),如果是checkbox则不能选中他。
- 所有控件都有disabled 属性,但是不一定有readonly属性,如select 下拉框。
- select下拉选择框(这里只能显示disabled和非disabled的区别,因为select 没有readonly属性
- button按钮:点击被readonly掉的按钮照样可以触发事件,但是被disabled掉的按钮就无法使用了不管上面有没有事件。
- div:将div设置disabled属性之后,整个div都灰掉了,但是文本框里面还是可以输入内容的。