-3

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

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

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

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

4

3 回答 3

5

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

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

使用 css 排列它们,并在您的服务器端连接这两个值。

或者 :

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

希望这可以帮助 !

于 2013-04-24T06:59:19.460 回答
2

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

移动DE<span>您左侧的a 中<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

于 2013-04-24T07:07:30.757 回答
-2

你可以试试这个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-24T07:02:39.893 回答