要求:使文本字段只读 - 未禁用,用户甚至不能单击该字段一次(或多或少的文本字段应该像选择框一样)。用户按下tab时应该能够移动到下一个字段(正常行为)Internet Explorer应该是用于呈现代码的浏览器。
我一直在做的示例代码就在这里
<table>
<tr>
<td><input type="text" value="test1" onfocus="this.blur()" readonly="true" /></td>
</tr>
<tr>
<td><input type="text" value="test2" onfocus="this.blur()" readonly="true" /></td>
</tr>
<tr>
<td><input type="text" value="test3" onfocus="this.blur()" readonly="true" /></td>
</tr>
</table>
上述代码的问题是 1.用户可以单击一次(闪烁光标可见) 2.按Tab键 - 用户不会移动到下一个字段。
仅适用于IE。谢谢
答案 0 :(得分:5)
要解决标签问题,您可能需要在输入中添加tabindex
:
<input type="text" value="test1" onfocus="this.blur()" readonly="readonly" tabindex="1"/>
<input type="text" value="test2" onfocus="this.blur()" readonly="readonly" tabindex="2"/>
<input type="text" value="test3" onfocus="this.blur()" readonly="readonly" tabindex="3"/>
答案 1 :(得分:3)
我想说如果你需要一些只读的东西,并且不能表现得像表单元素,那么你就不应该使用表单元素:只需将值用作文本:
<tr>
<td>test1</td>
</tr>
这样:
如果有必要,您可以使用一些CSS来设置样式,带边框,例如......
答案 2 :(得分:2)
这会让您选中每个文本框,但不会让您点击它们。 使用onclick事件将其模糊并设置readonly属性以防止编辑。
答案 3 :(得分:1)
您可以使用disabled
。它解决了标签索引问题
<input type="text" disabled="disabled" />