迭代文本框

时间:2011-07-01 19:52:48

标签: javascript

我有文本框,其中这些框的id是1到20.这些框是用PHP for循环创建的。 如果这些文本框为空,我如何使用javascript检查。并在每个方框上抛出错误。

foreach(i = 0, i<20, i++)
{
<input type = "Text" id="q_i">
}

4 个答案:

答案 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">

不是很漂亮,但它可以完成工作