我读了一些这方面的文章,但我似乎找不到任何关于不同浏览器如何处理事情的可靠信息。
当前回答
禁用意味着在提交表单时不会提交来自该表单元素的数据。只读意味着元素内的任何数据都将被提交,但用户不能更改它。
例如:
<input type="text" name="yourname" value="Bob" readonly="readonly" />
这将为元素“yourname”提交值“Bob”。
<input type="text" name="yourname" value="Bob" disabled="disabled" />
这将不会为元素“yourname”提交任何内容。
其他回答
disabled和readonly之间的区别是只读控件仍然可以工作,仍然是可聚焦的,而disabled控件不能接收焦点,也不能与表单一起提交
可以设置readonly属性以防止用户更改值,直到满足其他一些条件,而可以设置disabled属性以防止用户使用元素
当表单被清除(重置)时,如果禁用文本框的值需要保留,则必须使用disabled = "disabled",因为只读文本框将不会保留该值
例如:
HTML
文本框
<input type="text" id="disabledText" name="randombox" value="demo" disabled="disabled" />
重置按钮
<button type="reset" id="clearButton">Clear</button>
在上面的例子中,当按下Clear按钮时,禁用的文本值将保留在表单中。在input type =" text" readonly="readonly"的情况下,值将不会被保留
当元素具有disabled属性时,不会触发任何事件。
下面这些都不会被触发。
$("[disabled]").click( function(){ console.log("clicked") });//No Impact
$("[disabled]").hover( function(){ console.log("hovered") });//No Impact
$("[disabled]").dblclick( function(){ console.log("double clicked") });//No Impact
而readonly将被触发。
$("[readonly]").click( function(){ console.log("clicked") });//log - clicked
$("[readonly]").hover( function(){ console.log("hovered") });//log - hovered
$("[readonly]").dblclick( function(){ console.log("double clicked") });//log - double clicked
与其他答案相同(disabled不会发送到服务器,readonly会),但一些浏览器阻止高亮显示禁用的表单,而read-only仍然可以高亮显示(并复制)。
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
只读字段不能被修改。但是,用户可以选择它,突出显示它,并从中复制文本。
推荐文章
- 使伸缩项目正确浮动
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?
- 如何删除和清除所有的本地存储数据
- 强制打开“另存为…”弹出打开文本链接点击PDF在HTML
- 如何修改标签文本?
- 在HTML中还有其他有用的空格码吗,比如半空格的 , em-spaces, en-spaces等等?
- 输入触发器按钮单击