2011-07-01 96 views
0

我有文本框,其中這些框的ID是從1到20.這些框是在PHP for循環中創建的。 如何檢查使用javascript,如果這些文本框是空的。並在每個盒子上拋出一個錯誤。遍歷文本框

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

這將是一個很大如果在每個文本框上放置一個類屬性,對於要遍歷的所有文本框都是相同的,那麼就更容易。 – JohnFx

+0

我已經更新了我的反應,看看,之前的事情是添加多個消息,不是很酷 – titus

回答

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");}); 
+0

謝謝夥伴...我結合你和titus頌:$(this).before(「missing text」),它的工作原理像一個魅力。非常感謝你們。 – ken

0

沒有jQuery的(和使用jQuery會更容易):

foreach(i = 0, i<20, i++) 
{ 
    if (document.getElementById('q_' + i).length == 0) { 
    alert('box ' + i + 'is empty!'); 
    } 
} 
+0

這是僞代碼嗎?你認爲'length'屬性代表什麼? –

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!'); 
}); 
+0

該選擇器缺少「。」 – Michael

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

不是很漂亮,但它的工作