我尝试检查复选框是否已经过检查,然后才能继续更新已检查过的复选框的数据。
这是我的原始代码,它工作正常,但无法检查是否已选中复选框:
echo'<form name = "frmPrice" method="post" action="">';
echo'<table align="center">
<tr>
<th></th>
<th>Types</th>
<th>Price</th>
</tr>';
while($row = mysql_fetch_assoc($result))
{
echo'<tr>';
echo'<td><input type="checkbox" name="price[]"
value='.$row['price_id'].'</td>';
echo'<td>'.$row['price_type'].'</td>';
echo'<td>'.$row['price_perunit'].'</td>';
echo'</tr>';
}
echo'</table>';
echo'<br><br><input type="button" name="update" value="Update"
onClick="setUpdateAction();"/>';
echo'</form>';
这是setUpdateAction()的javascript,price.js:
function setUpdateAction() {
document.frmPrice.action = "update.php";
document.frmPrice.submit();
}
虽然我尝试检查框是否被选中的源代码是这样,它可以检查复选框,但现在问题是所选的数据没有传递给update.php:< / p>
echo'<form name = "frmPrice" method="post" action="">';
echo'<table align="center">
<tr>
<th></th>
<th>Types</th>
<th>Price</th>
</tr>';
while($row = mysql_fetch_assoc($result))
{
echo'<tr>';
echo'<td><input type="checkbox" name="price[]"
value='.$row['price_id'].'</td>';
echo'<td>'.$row['price_type'].'</td>';
echo'<td>'.$row['price_perunit'].'</td>';
echo'</tr>';
}
echo'</table>';
echo'<br><br><input type="submit" name="update" value="Update"/>';
echo'</form>';
if(isset($_POST['update']))
{
if(isset($_POST['price']))
{
echo "<script language='javascript' type='text/javascript'>";
echo'function setUpdateAction() {
document.frmPrice.action = "update.php";
document.frmPrice.submit();}';
echo "</script>";
}
else
{
echo "<script language='javascript' type='text/javascript'>";
echo "alert('You didn't select any data.')";
echo "</script>";
}
}
我认为传递数据的方式有问题,即使它现在可以检查复选框是否已被检查...
答案 0 :(得分:0)
Yuo可能会将if(isset($_POST['price']))
更改为if(isset($_POST['price[]']))