验证仅适用于第一行,不适用于其他行!我觉得这是因为返回真/假,但我需要在我的验证

问题描述

HTML PHP

<td align="center"><input type="text" class="form-control" id="<?PHP echo $i;?>" name="r2<?PHP echo $i+1;?>" onblur="mvalidate2()" style="text-align: center; border: 1px solid #ccc;width: 46px;">
        <label id="errora<?PHP echo $i;?>" style="font-size:13px; color:#cc0000;margin-left: 5px;"><div style = "font-size:13px; color:#cc0000;"></div></label></td>  

//我得到一个错误 Uncaught TypeError: Cannot read property 'value' of null 在 mvalidate2

JAVASCRIPT

function mvalidate2(){
 var count = <?PHP echo $count2;?>;
  for(var i=0;i<count;i++){
    var sr = document.getElementById(i).value;
    var temp  = 'errora';
    var t = temp.concat(i);

    if(sr<5){
     document.getElementById(t).innerHTML=" ";
     return true;
     }
    else{
     document.getElementById(t).innerHTML=" Enter valid rating out of 4 ";
     return false;
     }
   }
 } 

解决方法

您不必在 JavaScript 中以数字开头 ID

    var sr = document.getElementById("inp"+i).value;
<input type="text" class="form-control" id="inp<?php echo $i;?>" name="r2<?php echo $i+1;?>" onblur="mvalidate2()" style="text-align: center; border: 1px solid #ccc;width: 46px;">

function mvalidate2(){
 var count = <?php echo $count2;?>;
  for(var i=0;i<count;i++){
    var temp  = 'errora';
    var t = temp.concat(i);

    if(sr<5){
     document.getElementById(t).innerHTML=" ";
     return true;
     }
    else{
     document.getElementById(t).innerHTML=" Enter valid Rating out of 4 ";
     return false;
     }
   }
 } 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...