18

テキストフィールドがあるとしましょう:

Username: <input type="text" id="username" class="required" />
<input type="submit" />

そして私はいくつかのjQueryを持っています:

$(document).ready(function() {
    user = $("#username");

    user.submit(function() {

    })
})

username送信後、入力した値の長さが2〜5文字かどうかを確認したい。そうでない場合は、何かが起こります。

中に何を入れるべきかよくわかりませんuser.submit(function(){})

4

4 に答える 4

46

まず、実際のフォームが必要です。

<form id="myForm">
    Username: <input type="text" id="username" class="required" />
    <input type="submit" />
</form>

それから:

$(document).ready(function(){
    $('#myForm').on('submit', function(e){
        e.preventDefault();
        var len = $('#username').val().length;
        if (len < 6 && len > 1) {
            this.submit();
        }
    });
});

または、HTML5では、pattern属性を使用できます(SafariおよびIE9以降ではサポートされていません)。

<!-- Fiddle: http://jsfiddle.net/ymdQq/ -->

<form id="myForm">
  Username: <input type="text" id="username" pattern=".{2,5}" required />
  <input type="submit" />
</form>

于 2013-03-27T10:31:15.203 に答える
3

入力フィールドの値はuser.val()で、文字列の長さはで確認できますuser.val().length

そうすれば、次のようなことができます。

if(user.val().length < 2 || user.val().length > 5) {
    console.log('test')
} 
于 2013-03-27T10:33:41.527 に答える
3

$(document).ready(function() {
  $("#form").submit(function(e) {
    length = $("#username").val().length;
    if ((length > 2 && length < 5)) {
      $("#output").html("correct, logging in");
    } else {
      $("#output").html("incorrect, must have 3 or 4 chars");
    }
    return (length > 2 && length < 5);
  });
});
<!-- Fiddle: http://jsfiddle.net/zoutepopcorns/b5Kqs/ -->

<form id="form" mehtod="POST" action="https://www.example.com">
  username: <input type="text" id="username" class="required" />
  <input type="submit" />
</form>

<div id="output"></div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

于 2013-03-27T10:40:09.873 に答える
1

入力タイプのテキストformの代わりに送信をバインドし、送信イベントでその値を確認します。フォームにIDを割り当て、フォームIDセレクターを使用して送信をバインドすることをお勧めします。

$('form').submit(function(){
      username = $('#username').val();
     if(username.length > 1 && username.length < 6)
     {
     }
});
于 2013-03-27T10:30:46.313 に答える