0

テキストボックスに文字数制限を設定しましたが、入力を入力しているときに入力が9文字を超えた場合、タブを使用せずに別のフィールドに入力し続けます

<input data-val="true" data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid">

入力を停止する必要があります。

4

3 に答える 3

0

maxlength 属性を使用する

<input data-val="true" data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid" maxlength="9">
于 2012-08-02T05:58:53.987 に答える
0

たとえば、jQueryを使用する必要があります

<input data-val="true" maxlength=9 data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid"><br>
<script lang="text/javascript">
    $("#Ssn").keyup(function(e)
    {
        var str=$("#Ssn").val();
        if(str.length==9)
        {
            $("#Ssn").blur();
        }
    });
</script>

このコードでは、前に jQuery を含める必要があります

**誤解を編集

于 2012-08-02T06:04:17.653 に答える
0

pattern 属性の正規表現は、すべてのブラウザーで完全にサポートされているわけではありません。具体的には、それらをサポートしているブラウザーが常に複雑な正規表現に従うとは限りません。少なくともSafariではこれに気づきました。

maxlength属性が機能する必要があります。なぜそれがあなたのためではないのか分かりません。JSBIN の例を投稿して確認してみてください。

とはいえ、複雑なクライアント側のフォーム検証では、より幅広いブラウザーをサポートするために JavaScript に依存する必要があります。

于 2012-08-02T06:09:50.063 に答える