如何在提交表单后检查复选框? 我尝试使用这种方法:
<input type = "checkbox" name="math[]" value="Addition" <?php if(isset($_POST['math'])) echo "checked='checked'";?>/>Addition<br>
但我的所有复选框都会保持检查,即使我只选择一个,这是我的代码:
<form id="calc" action="calculator.php" method="POST" >
<b>Enter First No: <br>
<input type = "text" name="num1" value="<?php if(isset($_POST['num1'])){echo $num1;} ?>" required="required"/><br>
Enter Second No: <br>
<input type = "text" name="num2" value="<?php if(isset($_POST['num2'])){echo $num2;} ?>" required="required"/><br>
<b>Select Operation: <br>
<input type = "checkbox" name="math[]" value="Addition" <?php if(isset($_POST['math'])) echo "checked='checked'";?>/>Addition<br>
<input type = "checkbox" name="math[]" value="Subtraction" <?php if(isset($_POST['math'])) echo "checked='checked'";?>/>Subtraction<br>
<input type ="submit" value="compute" name="btnsubmit"> <br>
谢谢!
答案 0 :(得分:0)
改变:
<form id="calc" action="calculator.php" method="POST" >
<b>Enter First No: <br>
<input type = "text" name="num1" value="<?php if(isset($_POST['num1'])){echo $num1;} ?>" required="required"/><br>
Enter Second No: <br>
<input type = "text" name="num2" value="<?php if(isset($_POST['num2'])){echo $num2;} ?>" required="required"/><br>
<b>Select Operation: <br>
<input type = "checkbox" name="math[]" value="Addition" <?php if(isset($_POST['math'])) echo "checked='checked'";?>/>Addition<br>
<input type = "checkbox" name="math[]" value="Subtraction" <?php if(isset($_POST['math'])) echo "checked='checked'";?>/>Subtraction<br>
<input type ="submit" value="compute" name="btnsubmit"> <br>
致:
<form id="calc" action="" method="POST" >
<b>Enter First No: <br>
<input type = "text" name="num1" value="<?php if(isset($_POST['num1'])){echo $_POST['num1'];} ?>" required="required"/><br>
Enter Second No: <br>
<input type = "text" name="num2" value="<?php if(isset($_POST['num2'])){echo $_POST['num2'];} ?>" required="required"/><br>
<b>Select Operation: <br>
<input type = "checkbox" name="math[]" value="Addition"
<?php if(isset($_POST['math'][0]))
{
if($_POST['math'][0]=="Addition"){ echo 'checked="checked"';}
} ?> />Addition<br>
<input type = "checkbox" name="math[]" value="Subtraction"
<?php if(isset($_POST['math'][0]) || isset($_POST['math'][1]))
{
if($_POST['math'][0]=="Subtraction"){ echo 'checked="checked"';}
if(isset($_POST['math'][1])){
if($_POST['math'][1]=="Subtraction"){
echo 'checked="checked"';
}
}
} ?> />Subtraction<br>
<input type ="submit" value="compute" name="btnsubmit"> <br>
答案 1 :(得分:0)
我现在遇到了这个问题,想补充一下巴拉特·帕默(bharat parmer)的答案。而不是单独检查每个数组元素,我将以下内容用作我的PHP部分:
<?php if (!empty($_POST['math']) && in_array("Addition", $_POST['math']))
echo 'checked="checked"';?>
这似乎更直接,尤其是当数组可能很大时。