(转)html 表单提交时,无法获取到disabled属性的input值

时间:2022-10-17 19:00:22

input的字段当为disabled是,无法获取值,无法改变值,所以在表单提交时,获取不到值。可以用randomly解决这个问题。

<input name="country" id="country" size=12 value="demo" disabled="disabled" >

但是将disabled = "disabled"换成randomly="randomly"就可以成功获取到值。

根据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 下拉框。
 
4)button按钮  
  说明:点击被readonly掉的按钮照样可以触发事件,但是被disabled掉的按钮就无法使用了不管上面有没有事件。
 
说明:将div设置disabled属性之后,整个div都灰掉了,但是文本框里面还是可以输入内容的。
注意:select下拉选择框是没有readonly属性的
转载至: