kaw*_*sse 110 html javascript
text如果可能的话,我想在使用JavaScript 的类型的输入字段中禁用写入.输入字段从数据库填充; 这就是为什么我不希望用户修改其值.
hud*_*jev 191
document.getElementById('foo').disabled = true;
Run Code Online (Sandbox Code Playgroud)
编辑
要么
document.getElementById('foo').readOnly = true;
Run Code Online (Sandbox Code Playgroud)
请注意,readOnly应该在CamelCase中才能在Firefox中正常工作(魔术).
Nic*_*ver 159
如果您在页面呈现时知道这一点,这听起来像是因为数据库有值,那么最好在呈现而不是JavaScript时禁用它.要做到这一点,只需添加readonly属性(或者disabled,如果你想将它从表单提交中删除)<input>,就像这样:
<input type="text" disabled="disabled" />
//or...
<input type="text" readonly="readonly" />
Run Code Online (Sandbox Code Playgroud)
Poi*_*nty 16
如果从数据库填充数据,您可能会考虑不使用<input>标记来显示它.不过,你可以在标签中禁用它:
<input type='text' value='${magic.database.value}' disabled>
Run Code Online (Sandbox Code Playgroud)
如果您以后需要使用Javascript禁用它,可以设置"禁用"属性:
document.getElementById('theInput').disabled = true;
Run Code Online (Sandbox Code Playgroud)
我建议不显示价值的原因<input>是,根据我的经验,它会导致布局问题.如果文本很长,那么<input>用户将需要尝试滚动文本,这不是普通人想要做的事情.如果你只是将它放入某种<span>东西中,那么你就拥有更多的造型灵活性.
你也可以通过jquery:
$('#foo')[0].disabled = true;
Run Code Online (Sandbox Code Playgroud)
工作范例:
$('#foo')[0].disabled = true;Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="foo" placeholder="placeholder" value="value" />Run Code Online (Sandbox Code Playgroud)
获取您喜欢的输入框的引用(例如document.getElementById('mytextbox'))并将其readonly属性设置为true:
myInputBox.readonly = true;
Run Code Online (Sandbox Code Playgroud)
或者,您可以简单地添加此属性内联(无需JavaScript):
<input type="text" value="from db" readonly="readonly" />
Run Code Online (Sandbox Code Playgroud)