检查复选框是否已检查并传递数据

时间:2018-01-29 07:34:14

标签: javascript php checkbox

我尝试检查复选框是否已经过检查,然后才能继续更新已检查过的复选框的数据。

这是我的原始代码,它工作正常,但无法检查是否已选中复选框:

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>";
    }
}

我认为传递数据的方式有问题,即使它现在可以检查复选框是否已被检查...

1 个答案:

答案 0 :(得分:0)

Yuo可能会将if(isset($_POST['price']))更改为if(isset($_POST['price[]']))