我有文本框,其中这些框的id是1到20.这些框是用PHP for循环创建的。 如果这些文本框为空,我如何使用javascript检查。并在每个方框上抛出错误。
foreach(i = 0, i<20, i++)
{
<input type = "Text" id="q_i">
}
答案 0 :(得分:1)
使用jQuery?
$('input[type=text]').each(function(){if ($(this).val() == '') alert("Your Message Here");});
或者,如果您不想处理其他输入:
$('[id^="q_"]').each(function(){if ($(this).val() == '') alert("Your Message Here");});
答案 1 :(得分:0)
没有jQuery(使用jQuery会更容易):
foreach(i = 0, i<20, i++)
{
if (document.getElementById('q_' + i).length == 0) {
alert('box ' + i + 'is empty!');
}
}
答案 2 :(得分:0)
document.getElementsById('q_'+i)[0].value.length > 0
在for循环中应该粗略地做到这一点。
(尽管将jQuery放入项目可能是一个更好的计划)
然后你可以迭代一个类。即。
foreach(i = 0, i<20, i++)
{
<input type = "Text" id="q_i" class="q">
}
并在您的Javascript中:
$("q").each(function(index,object){
if(object.value().length <= 0) alert('empty!');
});
答案 3 :(得分:0)
Here是一种基本的表单验证,可能是您正在寻找的内容 它使用一个不可见的错误消息,当您按下按钮后离开空字段时会显示该消息。它不接受白色空间。您可以多次验证它,它的行为符合预期 这是jquery部分:
$(document).ready(function() {
$("button").click(function()
{ $('span[id^=q_]').addClass("hidden");
$('input[id^=q_]').each(function()
{if ($(this).val().replace(/ /g,'') == '')
{ $("#"+$(this).attr('id')).removeClass("hidden");
}
});
});
});
html部分:
<style>.hidden{display:none;}
.visible{display:block;}
</style>
<span id="q_1" class="hidden">Missing text</span>
<input type = "Text" id="q_1">
不是很漂亮,但它可以完成工作