字符串的单独字段

时间:2016-07-01 18:43:17

标签: javascript html

我有一个使用正则表达式组解析的字符串。一组包含7个字符。但是,我不想让用户在同一个字段中输入所有7个字符。相反,我希望他们能够将3个字符输入到一个字段中,剩下的4个字符输入另一个字段中。这可能吗?如果是,我如何在这些单独的字段中使用onkeyup事件?

HTML:

 <input style="float:left; width:5em" type=text name="txtPhoneArea" id="txtPhoneArea" width="5" maxlength="5" onkeyup="tabout(this,'txtPhoneNumber')" value="@Model.Store.AreaNumber" />
 <input style="float:left; width:5em" type=text name="txtPhoneNumber" id="txtPhoneNumber" width="5" maxlength="3" value="@Model.Store.PhoneNumber" />
 <input style="float:left; width:5em" type=text name="txtPhoneNumber" id="txtPhoneNumber" width="5" maxlength="4" value="@Model.Store.PhoneNumber"/>

功能:

function tabout(fromTextBox, toTextBox) {
    var length = fromTextBox.value.length;
    var maxLength = fromTextBox.getAttribute("maxLength");
    if (length == maxLength) {
        document.getElementById(toTextBox).focus();
    }
};

1 个答案:

答案 0 :(得分:0)

在第二个输入上添加一个onkeyup函数,并且id - txtPhoneNumber被添加到两个输入错误,每个输入字段应该有不同的id,所以将第三个输入字段id更改为txtPhone

<input style="float:left; width:5em" type=text name="txtPhoneArea" id="txtPhoneArea" width="5" maxlength="3" onkeyup="tabout(this,'txtPhoneNumber')" value="" />
<input style="float:left; width:5em" type=text name="txtPhoneNumber" onkeyup="tabout(this,'txtPhone')" id="txtPhoneNumber" width="5" maxlength="3" value="" />
<input style="float:left; width:5em" type=text name="txtPhone" id="txtPhone" width="5" maxlength="4" value="" />

http://codepen.io/nagasai/pen/PzmyYV