2014-01-18 132 views
-2

這裏是我的代碼:爲什麼複選框未被選中?

<html> 
<head> 
<script type="text/javascript" language="javascript"> 
function checkAll(formname, checktoggle) 
{ 
    var checkboxes = new Array(); 
    checkboxes = document.forms[formname].getElementsByTagName("input"); 
    for (var i=0; i<checkboxes.length; i++) { 
     if (checkboxes[i].type == "checkbox") { 
      checkboxes[i].checked = checktoggle; 
     } 
    } 
} 
</script> 
</head> 

<body bgcolor='lightgray'> 
    <a onclick="javascript:checkAll('myform',true);" href="#">check all</a> 
<?php 
    while($rows=mysql_fetch_assoc($sql)) { 
     echo "<form name='myform'>"; 
     echo "<input type='checkbox' id='chk' name='chk' /> $rows[subject]"; 
     echo "</form>"; 
    } 
?> 
</body> 
</html> 
+6

它可能無法回答問題,但所有複選框共享相同的ID。 –

+0

你可以在你的問題中添加生成的html,並確保你有不同的名稱和每個複選框 –

+2

問題是你用名稱myform製作多個表單並且在你的javascript中你只佔一個表格 – DarkBee

回答

1

試試這個:

<?php 

    echo "<form name='myform'>"; 
    $n = 1; 
    while($rows=mysql_fetch_assoc($sql)) { 

     echo "<input type='checkbox' id='chk" . $n++ . "' name='chk' /> $rows[subject]"; 

    } 
    echo "</form>"; 

?> 

<form>....</form>外循環,否則,你得到它,然後不正確處理名爲「myForm的」各種形式的javascript,請參閱評論DarkBee

+0

正在工作。感謝很多DarkBee。 – user220095

+0

Yw。 Thx轉到Axel使其成爲答案:) – DarkBee