我试图在jquery中为我的输入字段创建一个简单的验证器。 目前我得到以下内容:
function checkInputs(){
var isValid = true;
$('.input-required').each(function() {
if($(this).val() === ''){
isValid = false;
return false;
}
});
return isValid;
}
然后我有一个正确的按钮就是这样:
$('#confirm').click(function () {
alert(checkInputs());
});
但即使输入为空,这也总是返回true。 此后,如果填写了所有输入,我将进行操作,将启用一个按钮点击。
编辑它所以它现在有一个选择器,仍然总是如此。
提前致谢
答案 0 :(得分:3)
尝试使用filter属性来获取具有required
属性的输入。
$('input').filter('[required]')
添加了代码以检查输入是否已填满并启用或禁用button
。请注意,如果我们使用它,$('#confirm').click(function());
函数有很多点,因为只有在输入填充时才会启用此按钮。
function checkInputs() {
var isValid = true;
$('input').filter('[required]').each(function() {
if ($(this).val() === '') {
$('#confirm').prop('disabled', true)
isValid = false;
return false;
}
});
if(isValid) {$('#confirm').prop('disabled', false)}
return isValid;
}
$('#confirm').click(function() {
alert(checkInputs());
});
//Enable or disable button based on if inputs are filled or not
$('input').filter('[required]').on('keyup',function() {
checkInputs()
})
checkInputs()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input required>
<input required>
<input required>
<button id="confirm">check</button>
</form>
答案 1 :(得分:0)
尝试以这种方式定位元素:
$('input[required]')
这应该可以解决问题。
答案 2 :(得分:0)
您的选择器正在寻找显然不存在的tagName table_3
。
为班级
添加点前缀还可以使用filter()
来简化
<input-required></input-required>
注意:如果无线电或复选框属于具有该类的元素集合,则无法工作,如果是这种情况,则需要为类型添加条件
答案 3 :(得分:0)
如果为0,那么所有输入都填满,否则它将返回0意味着任何一个或多个是空输入。
function checkInputs(){
var flag = 0;
$('input').each(function() {
if($(this).val() == ''){
return flag = 1;
}
});
return flag;
}
$('#confirm').click(function () {
alert(checkInputs());
});
答案 4 :(得分:0)
你忘了把类符号放在jQuery中:
function checkInputs() {
var isValid = true;
$('.input-required').each(function() {
if($(this).val() === ''){
isValid = false;
return false;
}
});
return isValid;
}
试试这个..