2014-05-15 32 views
0

我试图验证两个文本框是否为空。
我有两个文本框和1跨度显示错误消息。
这里是我的html检查2文本框是否为空并显示错误消息

<div id="manual_input_container" style="margin-bottom:5px;"> 
#1&nbsp;&nbsp;<input type="text" class="numeric" id="first_value[]" name="first_value[]" maxlength="8" size="5" placeholder="First"> 
<span name="get_operator "id="get_operator"></span> 
<input type="text" class="numeric" id="second_value[]" name="second_value[]" maxlength="8" size="5" placeholder="Second"> 
<span name="errorOrganizer1" id="errorOrganizer1" class = "errorMsg"></span> &nbsp;</div> 

这是我的javascript

var first_value = document.getElementsByName("first_value[]"); 
var second_value = document.getElementsByName("second_value[]"); 
var err1 = document.getElementsByName('errorOrganizer1'); 
var isTrue = true; 

    for(var i=0; i<first_value.length; i++) 
      { 
       if(first_value[i].value == "" || isNaN(first_value[i].value)) 
       { 
       first_value[i].style.backgroundColor = '#f6d9d4'; 
       err1[i].innerHTML = "Invalid"; 
       isTrue = false; 
       } 

       else if(second_value[i].value == "" || isNaN(second_value[i].value)) 
       { 
       second_value[i].style.backgroundColor = '#f6d9d4'; 
       err1[i].innerHTML = "Invalid"; 
       isTrue = false 
       } 

       else 
       { 
       first_value[i].style.backgroundColor = '#fff'; 
       second_value[i].style.backgroundColor = '#fff'; 
       err1[i].innerHTML = ""; 


       } 
      } 
      return isTrue; 

错误消息不正确显示在这里。任何想法?

+0

为什么你使用像数组一样的id(second_value [])? – Lali

+1

检查NULL只需使用:'if(first_value [i] .value)' –

+0

@Dot_NETJunior是的。这已经在我的脚本中,我只是问我是否可以在一个跨度上显示错误消息,检查两个输入文本。 – user3627265

回答

0

确定这是一个很容易我did'nt看到它:

更改线以下:

err1[i].innerHTML = "Invalid"; 

err1[i].innerText = "Invalid"; 

DEMO: http://jsfiddle.net/6Eu7A/

+1

从代码中我猜他有n个这样的HTML结构,并且正在使用forloop。但仍然这个答案是正确的。 – SSS

+0

@SSS是只有获得元素我认为getElementById(“someid”)是直接的方法。 –

+0

他必须拥有类名,而不是相同的名称,并循环遍历该类名的所有元素。 – SSS

相关问题