Как использовать 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(){})
.
Ответы
Ответ 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)
{
}
});