我读了一些这方面的文章,但我似乎找不到任何关于不同浏览器如何处理事情的可靠信息。
当前回答
与其他答案相同(disabled不会发送到服务器,readonly会),但一些浏览器阻止高亮显示禁用的表单,而read-only仍然可以高亮显示(并复制)。
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
只读字段不能被修改。但是,用户可以选择它,突出显示它,并从中复制文本。
其他回答
只读元素是不可编辑的,但在提交时被发送。禁用的元素是不可编辑的,并且在提交时不会发送。另一个不同之处在于,只读元素可以被聚焦(当“tab”通过表单时也可以被聚焦),而禁用元素则不能。
阅读这篇很棒的文章或w3c的定义。引用其中重要的部分:
Key Differences The Disabled attribute Values for disabled form elements are not passed to the processor method. The W3C calls this a successful element.(This works similar to form check boxes that are not checked.) Some browsers may override or provide default styling for disabled form elements. (Gray out or emboss text) Internet Explorer 5.5 is particularly nasty about this. Disabled form elements do not receive focus. Disabled form elements are skipped in tabbing navigation. The Read Only Attribute Not all form elements have a readonly attribute. Most notable, the <SELECT> , <OPTION> , and <BUTTON> elements do not have readonly attributes (although they both have disabled attributes) Browsers provide no default overridden visual feedback that the form element is read only. (This can be a problem… see below.) Form elements with the readonly attribute set will get passed to the form processor. Read only form elements can receive the focus Read only form elements are included in tabbed navigation.
disabled和readonly之间的区别是只读控件仍然可以工作,仍然是可聚焦的,而disabled控件不能接收焦点,也不能与表单一起提交
禁用意味着在提交表单时不会提交来自该表单元素的数据。只读意味着元素内的任何数据都将被提交,但用户不能更改它。
例如:
<input type="text" name="yourname" value="Bob" readonly="readonly" />
这将为元素“yourname”提交值“Bob”。
<input type="text" name="yourname" value="Bob" disabled="disabled" />
这将不会为元素“yourname”提交任何内容。
可以设置readonly属性以防止用户更改值,直到满足其他一些条件,而可以设置disabled属性以防止用户使用元素
与其他答案相同(disabled不会发送到服务器,readonly会),但一些浏览器阻止高亮显示禁用的表单,而read-only仍然可以高亮显示(并复制)。
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
只读字段不能被修改。但是,用户可以选择它,突出显示它,并从中复制文本。
推荐文章
- 样式化HTML电子邮件的最佳实践
- CSS/HTML:什么是使文本斜体的正确方法?
- 我如何才能在表中应用边界?
- 如何使一个DIV不包装?
- CSS div元素-如何显示水平滚动条只?
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用“!”的含义是什么?重要的”?
- 用CSS截断长字符串:可行吗?
- 资源解释为样式表,但以MIME类型text/html传输(似乎与web服务器无关)
- 复选框输入是否只在被选中时才发布数据?
- 是类型="文本/css"必须在<链接>标签?
- 如何将LaTeX与Markdown混合?
- 如何使<div>总是全屏?
- 如何中心div垂直内绝对定位的父div
- sessionStorage浏览器。在标签之间共享?