Php 使用Javascript验证选择多个复选框

Php 使用Javascript验证选择多个复选框,php,javascript,forms,checkbox,Php,Javascript,Forms,Checkbox,我正在写一个表单,可以选择多个复选框并将其保存到MySQL数据库中。然而,我现在想限制用户可以使用javascript选择的复选框的数量,并且遇到了一些麻烦 对于导入函数来说,似乎仍然可以工作,每个复选框都需要具有彼此相同的名称,以便能够识别和内爆,但是对于Javascript函数来说,每个名称都需要不同,以便能够区分它们 如有任何建议,我们将不胜感激 这是我一直在玩的代码 Javascript函数: <?php $calc = mysql_query($query) or die(mys

我正在写一个表单,可以选择多个复选框并将其保存到MySQL数据库中。然而,我现在想限制用户可以使用javascript选择的复选框的数量,并且遇到了一些麻烦

对于导入函数来说,似乎仍然可以工作,每个复选框都需要具有彼此相同的名称,以便能够识别和内爆,但是对于Javascript函数来说,每个名称都需要不同,以便能够区分它们

如有任何建议,我们将不胜感激

这是我一直在玩的代码

Javascript函数:

<?php $calc = mysql_query($query) or die(mysql_error()); ?>

<SCRIPT LANGUAGE="javascript">

function KeepCount() 
{
var NewCount = 0

<?php while($count_row = mysql_fetch_array($calc)){
echo "

if (document.import1.checkbox".$count_row['id'].".checked)
{NewCount = NewCount + 1}

";
} ?>

if (NewCount == 6)
{
alert('You can select up to 5 competitors. If you wish to import more you will need to add more judges.')
document.import1; return false;
}
} 
</SCRIPT>

理解您的代码有点困难,但我想您可能会被名称和id的不同弄糊涂。每个复选框中的id必须不同,名称必须相同:

<input id=\"checkbox".$row['id']."\" type=\"checkbox\" name=\"checkbox[]\" value=\"".$row['id']."\" onClick=\"return KeepCount()\"></td>";
javascript是这样的

var count = 0;    

function KeepCount(it) {
 if (it.checked) {
  count = count + 1;
 } else {
  count = count - 1;
 }
 if (count == 6) {
  alert('You can 
  etc.
这应该行得通


顺便说一句:value=row['id']似乎也是胡说八道。

我无法理解您在这里到底在尝试什么,import.php做什么?该表显示了用户体育俱乐部成员的姓名和性别列表。他们选择想要加入竞争的人。import_process.php应该识别选定的竞争对手ID,并将详细信息插入竞争表中。至少应该这样做,在上面的示例中,JavaScript可以工作,但是导入不能。你的意思是你不能将与所选竞争对手相关的信息发送到你的服务器,但是你可以限制用户选中5个复选框?谢谢你-警报会自动出现,导入功能也可以工作。唯一的问题是,在警报出现后,仍然允许用户选择超过所需数量的复选框。我认为我加上这个是正确的,但它仍然不能完美地工作:var count=0;函数CountUp(it){if(it.checked){count=count+1;}else{count=count-1;}if(count==){alert('您可以选择最多个竞争对手。如果您希望导入更多,您需要添加更多的评委。')document.import1;返回false;count=count-1;}而不是或附加返回false(wich没有具体的理由我能弄明白)你把“it.checked=false”放在上面-这应该会有帮助。另外:在警报的括号后,一个分号丢失了。太好了!非常感谢你-把这个放在一边作为一个项目意味着它没有得到太多的关注,所以我不确定我能弄明白。干杯!
<input id=\"checkbox".$row['id']."\" type=\"checkbox\" name=\"checkbox[]\" value=\"".$row['id']."\" onClick=\"return KeepCount()\"></td>";
<input id=\"checkbox".$row['id']."\" type=\"checkbox\" name=\"checkbox[]\" value=\"".$row['id']."\" onClick=\"return KeepCount(this)\"></td>";
var count = 0;    

function KeepCount(it) {
 if (it.checked) {
  count = count + 1;
 } else {
  count = count - 1;
 }
 if (count == 6) {
  alert('You can 
  etc.