所以我有10个动态创建的输入,如果它们不是空白,我想做一个简单的验证,问题是我所拥有的代码不适用于这些,因为它们不是在页面加载时创建的。
我怎样才能做到这一点? Thx提前
function submitForm() {
for(var i = 0; i < 10 ; i++){
if($("#input"+i).value == null){
alert("False!!");
}
}
}
答案 0 :(得分:1)
您应该使用val()
检查输入值而不是value
(function() {
var i = 0;
$('button').click(function() {
$('body').append('<input type="text" id="input-' + i + '">');
i++;
});
$('input[type="submit"]').click( function() {
$('input[type="text"]').each(function() {
if ($(this).val() == '') {
alert($(this).attr('id') + ' is empty');
}
});
});
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="submit" value="Submit">
<button>Create input</button>
答案 1 :(得分:1)
您应该使用.val()
代替.value
。我还建议使用.each()
。此外,当input
为空时,其值为""
而不是null
。
for(var i = 0; i < 10 ; i++) {
if($("#input"+i).val() == "") {
alert($("#input"+i).attr('id') + " is empty!")
}
}