问题描述
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;
}
}
}