Javascript 将文本框中的默认值保持在焦点上

Javascript 将文本框中的默认值保持在焦点上,javascript,html,Javascript,Html,我在一个网站上创建了一个默认值为“DE”的输入字段(文本)。现在我有以下问题 <input type="text" id="iban" value="DE" /> 当用户在文本框中单击时,默认值“DE”不应被删除,用户只应在文本框中的默认值后添加数字。所以我正在搜索一个js函数,它将文本框的默认值设置为只读。用户不应删除默认值 如果这是可能的,它是如何工作的?您不能将部分值设置为只读。。。但如果您想使用一个简单的解决方案(没有javascript),您可以使用两个输入: <

我在一个网站上创建了一个默认值为“DE”的输入字段(文本)。现在我有以下问题

<input type="text" id="iban" value="DE" />

当用户在文本框中单击时,默认值“DE”不应被删除,用户只应在文本框中的默认值后添加数字。所以我正在搜索一个js函数,它将文本框的默认值设置为只读。用户不应删除默认值


如果这是可能的,它是如何工作的?

您不能将部分值设置为只读。。。但如果您想使用一个简单的解决方案(没有javascript),您可以使用两个输入:

<input type="text" id="iban-prefix" value="DE" readonly/><input type="text" id="iban-value"/>

使用css对它们进行排列,只需在服务器端连接两个值

或:

javascript解决方案:在表单上,使用“onsubmit”事件调用javascript函数,检查用户输入的值中是否存在“DE”前缀,如果不存在,则添加“DE”前缀


希望这有帮助

您可以尝试以下jQuery:

$(document).ready(function() {
    $("#iban").keydown(function(event) {

            if (event.keyCode < 48 || event.keyCode > 57 || event.keyCode == 46 || event.keyCode == 8) {
                event.preventDefault(); 
            }   

    });
});
$(文档).ready(函数(){
$(“#iban”).keydown(函数(事件){
如果(event.keyCode<48 | | event.keyCode>57 | | event.keyCode==46 | | event.keyCode==8){
event.preventDefault();
}   
});
});
我在这里找到的:

编辑:并将其修改为防止退格和删除关键点


希望有帮助

不需要使用JavaScript。简单的HTML和CSS可以很好地完成这项工作

DE
移动到
左侧的
中:

上述代码生成:


这里有一个。

我不希望在焦点上删除该值。我正在搜索一个可以将文本框的一部分标记为只读的函数。是的,我搜索了它,但我没有找到解决方案。Thx,我会试试这个Danny Beckett。这没有回答问题。它在Firefox浏览器中不起作用抱歉,正如Danny所说,我搜索的不是为了让你知道,删除这个答案会增加你的声誉,因为它是负数。@请解释一下……用户只需要输入数字,不是吗?@Arkana这里的主要问题是如何在文本框中保留默认值。这就是为什么你的答案得到了两张反对票。@Arkana OP现在接受了这个答案。请不要投反对票,这就是我想要的。非常感谢。关于数字的问题不是我问题的重点。我知道这是怎么回事;)这个解决方案也有效。非常感谢。
<span class="iban">DE</span><input type="text" id="iban" />
span.iban
{
    position: relative;
}

input#iban
{
    margin-left: -25px;
    padding-left: 25px;
}