我在网站上创建了一个默认值为“DE”的输入字段(文本)。现在我遇到以下问题。将文本框中的默认值保留在焦点上
<input type="text" id="iban" value="DE" />
当用户点击文本框中的默认值“DE”应该不被删除,用户应该只在文本框中的默认值后添加数字。所以我正在寻找一个js函数,它使得文本框的默认值为只读。用户不应该删除默认值。
如果这是可能的,它是如何工作的?
我在网站上创建了一个默认值为“DE”的输入字段(文本)。现在我遇到以下问题。将文本框中的默认值保留在焦点上
<input type="text" id="iban" value="DE" />
当用户点击文本框中的默认值“DE”应该不被删除,用户应该只在文本框中的默认值后添加数字。所以我正在寻找一个js函数,它使得文本框的默认值为只读。用户不应该删除默认值。
如果这是可能的,它是如何工作的?
没有必要使用JavaScript。简单的HTML和CSS就可以完成这项工作。
移动DE
成<span>
到您<input>
的左边:
<span class="iban">DE</span><input type="text" id="iban" />
然后定位<span>
内部的<input>
:
span.iban
{
position: relative;
}
input#iban
{
margin-left: -25px;
padding-left: 25px;
}
以上代码生成:
这是JSFiddle。
@Downvoter请解释... – 2013-04-24 07:10:30
用户只需要输入数字,不是吗? – Arkana 2013-04-24 07:10:54
@Arkana这里的主要问题是如何在文本框中保留默认值。这就是为什么*你的*答案已收到2个downvotes。 – 2013-04-24 07:11:41
你不能使价值的一部分作为只读......但是,如果你想用一个简单的解决方案(没有的JavaScript),你可以使用两个输入:
<input type="text" id="iban-prefix" value="DE" readonly/><input type="text" id="iban-value"/>
使用它们安排css,并在您的服务器端连接两个值。
OR:
一个JavaScript的解决方案:在表单上使用“的onsubmit”事件来调用javascript函数来检查,如果“DE”的前缀是存在于由用户输入的值,如果没有,添加“DE”前缀。
希望这会有所帮助!
该解决方案也适用。谢谢!!! – proud 2013-04-24 07:14:57
你可以试试这个jQuery的:
$(document).ready(function() {
$("#iban").keydown(function(event) {
if (event.keyCode < 48 || event.keyCode > 57 || event.keyCode == 46 || event.keyCode == 8) {
event.preventDefault();
}
});
});
我在这里找到:https://snipt.net/GerryEng/jquery-making-textfield-only-accept-numeric-values/
编辑:它修改,以防止退格键和删除键。
希望它能帮助!
这不回答问题。 – 2013-04-24 07:03:04
它在Firefox浏览器中不起作用 – 2013-04-24 07:06:48
对不起,正如Danny所说,那不是我搜索的内容 – proud 2013-04-24 07:15:31
我不希望该值会在焦点上被删除。我正在寻找一个功能,我可以将文本框的一部分标记为只读。是的,我寻找它,但我没有找到这个解决方案。 – proud 2013-04-24 07:01:35
Thx,我会试试这个丹尼贝克特。 – proud 2013-04-24 07:04:44