如何使用jQuery来提交并检查值是否为2-5个字符?
问题描述:
比方说,我有一个文本字段:如何使用jQuery来提交并检查值是否为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(){})
之内。
答
首先,您需要一个实际的形式:
<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>
答
绑定提交到form
而不是输入类型文本并在提交事件中检查其值。最好是分配一些id来形成并使用表单id选择器来绑定submit。
$('form').submit(function(){
username = $('#username').val();
if(username.length > 1 && username.length < 6)
{
}
});
答
您可以使用user.val()
检查输入字段的值,并使用user.val().length
检查字符串的长度。
这样,你可以做这样的事情:
if(user.val().length < 2 || user.val().length > 5) {
console.log('test')
}
答
我做了一个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" />