我有一个搜索表单
<input id="price_from" value="price from ">
<input id="price_to" value="price to ">
<button>search</button>
如何禁用dafault文本的编辑?当用户开始输入价格金额时,无法编辑“价格从”和“价格到”,但它们会保留在输入字段中。我已经为jquery尝试了不同的掩码插件,但是他们没有显示默认文本,直到你专注于字段而不提供自定义文本选项。只有占位符是一个字符。
答案 0 :(得分:74)
您可以使用readonly
或disabled
属性。请注意,禁用时,提交表单时不会提交输入值。
<input id="price_to" value="price to" readonly="readonly">
<input id="price_to" value="price to" disabled="disabled">
答案 1 :(得分:4)
我不确定我是否正确理解了这个问题,但如果你想阻止人们在输入字段中写字,你可以使用disabled
属性。
<input disabled="disabled" id="price_from" value="price from ">
答案 2 :(得分:2)
我不认为所有其他的回答者都能正确理解这个问题。该问题需要禁用编辑部分文字。我能想到的一个解决方案是使用固定前缀模拟文本框,该文本框不是textarea或输入的一部分。
这种方法的一个例子是:
<div style="border:1px solid gray; color:#999999; font-family:arial; font-size:10pt; width:200px; white-space:nowrap;">Default Notes<br/>
<textarea style="border:0px solid black;" cols="39" rows="5"></textarea></div>
我最终使用的另一种方法是使用JS和JQuery来模拟&#34;禁用&#34;特征。伪代码示例(不能成为法律问题的具体原因):
// disable existing notes by preventing keystroke
document.getElementById("txtNotes").addEventListener('keydown', function (e) {
if (cursorLocation < defaultNoteLength ) {
e.preventDefault();
});
// disable existing notes by preventing right click
document.addEventListener('contextmenu', function (e) {
if (cursorLocation < defaultNoteLength )
e.preventDefault();
});
谢谢,Carsten,提到这个问题已经过时了,但我发现这个解决方案可能会在将来帮助其他人。
答案 3 :(得分:1)
可能由于我无法解释的事实,你并不真正理解我的问题。一般来说,我找到了solution。
抱歉我的英文
答案 4 :(得分:0)
disabled=disabled
:
<input id="price_from" value="price from " disabled="disabled">
问题是如果您不希望用户编辑它们,为什么要在输入中显示它们?即使您想提交表单,也可以隐藏它们。要显示信息,请改用其他标签。