0

我正在使用 html、php、javascript、mysql 和 wampserver。

我有 3 个复选框,用户应该最多检查两个,然后我将这两个选项插入到我的数据库中。

我已经声明了 3 个具有不同名称属性的复选框(不同 => 因为我在我的 php 代码中声明了 3 个变量)

但是当我想使用 javascript 插入验证时(以验证最多只有 2 个复选框被选中)我发现我应该声明 3 个具有相同属性名称的复选框

我的问题是:

要将用户选择插入我的数据库,我应该声明 3 个变量,因此 3 个不同的名称属性,

并验证复选框:2 至少被选中我必须使用相同的名称属性

还有其他我不知道的解决方案吗?

HTML 代码:

<input type="checkbox"  value="workshop1Day1" id="workshop" name="workshop1Day1" />Workshop I
<input type="checkbox" value="workshop2Day1"  name="workshop2Day1" />Workshop II

<input type="checkbox" value="workshop3Day1"  name="workshop3Day1" />Workshop III

php代码

 $workshop1Day1 = $_POST["workshop1Day1"];
 $workshop2Day1 = $_POST["workshop2Day1"];
 $workshop3Day1 = $_POST["workshop3Day1"];

 $requete = "INSERT INTO Participant (workshop1Day1,workshop2Day1,workshop3Day1)
                  VALUES ('$workshop1Day1', '$workshop2Day1', '$workshop3Day1')";

我找到的 java 脚本(对 name 属性使用相同的值

复选框验证

谢谢你

4

1 回答 1

3

这可能对您有帮助:

<script>
function checkifclicked()
{

    //alert($('input[name=cb]').val());
    var checkboxs=document.getElementsByName("cb");
    var okay=false;
    var count = 0;
    for(var i=0,l=checkboxs.length;i<l;i++)
    {
        if(checkboxs[i].checked)
        {

        count++;
        }
    }
    if(count > 1){
     okay=true;    
    }
    if(!okay){

        alert("Please check at least two checkbox");
        return false;
    }

}
</script>


<form name="send_email" id="send_email" action="send_email.php" onSubmit="return checkifclicked()" method="post">

<div id="checkbox">    
<input type="checkbox" id="1" name="cb"/><br/>
<input type="checkbox" id="2" name="cb"/><br/>
<input type="checkbox" id="3" name="cb"/><br/>
<input type="submit" value="Submit"/>
</div>


</form>

键盘演示>>

于 2013-05-22T09:44:29.063 回答