首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

,帮忙看看上面代码哪里异常了 JS显示Stack overflow at line:0 复选框全选和单选的时候也有点有关问题

2012-08-01 
求助,急,帮忙看看下面代码哪里错误了 JS显示Stack overflow at line:0 复选框全选和单选的时候也有点问题

求助,急,帮忙看看下面代码哪里错误了 JS显示Stack overflow at line:0 复选框全选和单选的时候也有点问题
<script type="text/javascript">

//--列头全选框被单击---
function ChkAllClick(sonName, cbAllId){  
 var arrSon = document.getElementsByName(sonName);  
 var cbAll = document.getElementById(cbAllId);  
 var tempState=cbAll.checked;  
 for(var i=0;i<arrSon.length;i++) {
 
  if(arrSon[i].checked!=tempState)  
  arrSon[i].click();  
 }  
}  
 
// --子项复选框被单击---  
function ChkSonClick(sonName, cbAllId) {  
 var arrSon = document.getElementsByName(sonName);  
 var cbAll = document.getElementById(cbAllId);  
 for(var i=0; i<arrSon.length; i++) {  
  if(!arrSon[i].checked) {  
  cbAll.checked = false;  
  return;  
  }  
 }  
 cbAll.checked = true;  
}  

</script>



  <div class="look">
  <form name="form5" method="post" onSubmit="Checker()">
  <table class="add" >
  <tr>  
  <td width="8"><input name="chkAll" id="chkAll" title="全选" onClick="ChkAllClick('chkSon','chkAll')" type="checkbox" /></td>
  <td width="10%"><b>日志日期</b></td>
  <td width="30%"><b>工作日志</b></td>
  <td width="25%"><b>费用日志</b></td>
  <td width="10%"><b>备注</b></td>
  <td width="6%"><b>合计</b></td>
  <td width="8%"><b>状态</b></td>
  <td width="35%"><b>操作</b></td>
  </tr>
  <?php  
   
  $pagesize=10;
  $url=$_SERVER["REQUEST_URI"];
  $url=parse_url($url);
  $url=$url[path];

  //echo $url."<br>";

  $sql="select * from article ";

  $query = mysql_query($sql);

  $num=mysql_num_rows($query);


  if ($_GET){
$pageval=$_GET;
$page=($pageval-1)*$pagesize;
$page.=',';
  }

  $SQL="select * from article limit $page $pagesize";
  $query=mysql_query($SQL);

  while($row = mysql_fetch_row($query)){
  ?>
  <tr>
  <td width="8"><input name="chkSon" id= "chkSon<?php echo $row[0]; ?>" onClick="ChkAllClick('chkSon','chkAll')" type="checkbox" value='<?php echo $row[0]; ?>' /></td>
  <td width="10%"><?php echo $row[1];?></td>
  <td width="30%"><?php echo $row[2];?></td>
  <td width="25%"><?php echo $row[3];?></td>
  <td width="10%"><?php echo $row[4];?></td>


  <td width="6%"> <?php echo number_format($row[5],2);?></td>
  <td width="8%"> <font color=red>未审</font></td>
  <td width="35%">审核 编辑 </td>
  </tr>
   
  <?php 
  }
  ?>
   
  </table>
  </form> 
  </div>
  <div class="run">
  <div class="key">
  <?php 
  if ($num>$pagesize){
  if ($pageval<=1)
  $pageval=1;
  if ($pageval<=1)
  $pageval=1;
   
   
   
  $a=$_GET['page'];
  //echo $a;
  $min=$num/$pagesize;
  $max=floor($num/$pagesize);
  if ($min>$max){
  $max++;
  }
   
  echo "共 $num 条记录 ";
 
if(($page==1||$page==0)&&($min==1||$min>0)){
echo "<a href=$url?page=".($pageval+1)."><font color=black> 下一页</font></a>";
}else if($a==$max){
echo "<a href=$url?page=".($pageval-1)."><font color=black> 上一页</font></a>";
}else{
echo "<a href=$url?page=".($pageval-1)."><font color=black> 上一页</font></a> <a href=$url?page=".($pageval+1)."><font color=black> 下一页</font></a>";
}  
  }
   
  ?>
  </div> 
  </div>

[解决办法]
全选钮
<input name="chkAll" id="chkAll" title="全选" onClick="ChkAllClick('chkSon','chkAll')" type="checkbox" />
条目选择钮
<input name="chkSon" id= "chkSon<?php echo $row[0]; ?>" onClick="ChkAllClick('chkSon','chkAll')" type="checkbox" value='<?php echo $row[0]; ?>' />
居然是一样的!?
ChkAllClick 中有 arrSon[i].click(); 这必然导致死循环

热点排行