Подтвердить что ты не робот

Как использовать jQuery для onsubmit и проверить, имеет ли значение 2 - 5 символов?

Скажем, у меня есть текстовое поле:

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(){}).

4b9b3361

Ответ 1

Сначала вам понадобится реальная форма:

<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 и ниже):

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

FIDDLE

Ответ 2

Вы можете проверить значение поля ввода user.val() и длину строки с помощью user.val().length.

Таким образом вы можете сделать что-то вроде этого:

if(user.val().length < 2 || user.val().length > 5) {
    console.log('test')
} 

Ответ 3

Я сделал Fiddle

Вы можете использовать оператор как

$(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);
    });
});

И HTML

<form id="form" method="POST" action="http://www.cnn.com">
username: <input type="text" id="username" class="required" />
<input type="submit" />

Ответ 4

Bind submit form вместо текста типа ввода и проверьте его значение в событии отправки. Было бы лучше назначить некоторый идентификатор для формирования и использования выбора идентификатора формы для привязки submit.

$('form').submit(function(){
      username = $('#username').val();
     if(username.length > 1 && username.length < 6)
     {
     }
});