将组中的复选框分配给PHP变量
我对PHP有非常基本的了解,所以任何帮助或相关教程的链接都会很有帮助 我有三个复选框-‘初学者’、‘中级’和‘高级’。我写了一些jQuery,这意味着只能选择一个(比如单选按钮)。我想将选中的一个指定给PHP变量以在表单上提交,但我找不到任何帮助/我能理解的教程。所有复选框共享同一个类。我是否可以循环浏览它们并选择选中的一个?任何洞察都会大有裨益 HTML将组中的复选框分配给PHP变量,php,Php,我对PHP有非常基本的了解,所以任何帮助或相关教程的链接都会很有帮助 我有三个复选框-‘初学者’、‘中级’和‘高级’。我写了一些jQuery,这意味着只能选择一个(比如单选按钮)。我想将选中的一个指定给PHP变量以在表单上提交,但我找不到任何帮助/我能理解的教程。所有复选框共享同一个类。我是否可以循环浏览它们并选择选中的一个?任何洞察都会大有裨益 HTML 如果您将所有复选框命名为相同的名称,您将能够访问在PHP中提交的复选框的值。例如,将复选框的所有名称属性更改为level。不是将初学者、中级
如果您将所有复选框命名为相同的名称,您将能够访问在PHP中提交的复选框的值。例如,将复选框的所有名称属性更改为
level
。不是将初学者、中级和高级放在name属性中,而是将它们放在value属性中
<form method="post" action="generate_workout.php" target="_new">
<div class="difficulty-check">
<input type="checkbox" id="easy-check" class="difficulty" name="level[]" value="beginner" />
<label for="easy-check"></label>
</div>
<div class="difficulty-check">
<input type="checkbox" id="medium-check" class="difficulty" name="level[]" value="intermediate" />
<label for="medium-check"></label>
</div>
<div class="difficulty-check">
<input type="checkbox" id="hard-check" class="difficulty" name="level[]" value="advanced" />
<label for="hard-check"></label>
</div>
<input type="submit" value="Generate"/>
</form>
问题是,如果选择了不止一个,会发生什么?回答:它将覆盖其他。如果只有一个选项,就应该使用单选按钮。@Fred ii-他不是说他做了一些jQuery,所以用户只能选择一个吗?“是的,我同意,他应该使用单选按钮。”blazerunner44当然,但很难说他没有看到与此相关的jQuery。即使这样,复选框仍然需要作为一个数组来处理。当我为类似于上面的单选按钮使用标签时,它们的行为并不正确。我可以选择多个。@ChrisWness我编辑了我的答案以允许选择多个复选框
$\u POST['level']
现在是所有选中复选框的数组。为什么不使用单选按钮而不是jQuery复选框将选择限制为一个呢。只是为了外表吗?
<form method="post" action="generate_workout.php" target="_new">
<div class="difficulty-check">
<input type="checkbox" id="easy-check" class="difficulty" name="level[]" value="beginner" />
<label for="easy-check"></label>
</div>
<div class="difficulty-check">
<input type="checkbox" id="medium-check" class="difficulty" name="level[]" value="intermediate" />
<label for="medium-check"></label>
</div>
<div class="difficulty-check">
<input type="checkbox" id="hard-check" class="difficulty" name="level[]" value="advanced" />
<label for="hard-check"></label>
</div>
<input type="submit" value="Generate"/>
</form>
<?php
var_dump($_POST['level']); //Returns an array of all the check boxes that were clicked
?>