如何禁用inputtypes=文本?
如果可能的话,我想禁止在使用JavaScript的text
types的input字段中书写。 input字段从数据库填充; 这就是为什么我不希望用户修改其值。
如果您在页面呈现时知道这一点,这听起来像是因为数据库具有值,那么最好在呈现而不是JavaScript时禁用它。 要做到这一点,只需添加readonly
属性(或disabled
,如果你想从表单提交中删除它)到<input>
,像这样:
<input type="text" disabled="disabled" /> //or... <input type="text" readonly="readonly" />
document.getElementById('foo').disabled = true;
编辑
要么
document.getElementById('foo').readOnly = true;
注意readOnly
应该在CamelCase中正常工作在Firefox(magic)中。
如果从数据库填充数据,则可以考虑不使用<input>
标记来显示它。 不过,您可以在标签中将其禁用:
<input type='text' value='${magic.database.value}' disabled>
如果以后需要用Javascript禁用它,可以设置“disabled”属性:
document.getElementById('theInput').disabled = true;
我build议不把价值看作一个<input>
是,根据我的经验,这会导致布局问题。 如果文本很长,那么在<input>
,用户将需要尝试滚动文本,这不是人们常常猜测的事情。 如果你把它放在一个<span>
或者什么东西里面,你可以有更多的样式灵活性。
无论你喜欢(比如document.getElementById('mytextbox')
)获取你的input框的引用,并将其readonly
属性设置为true
:
myInputBox.readonly = true;
或者,您可以简单地添加此属性内联(不需要JavaScript):
<input type="text" value="from db" readonly="readonly" />
你也可以通过jquery:
$('#foo').disabled = true;