测试是否至少选中了两个复选框,然后将值插入数据库

Tesing if at least two checkboxes are checked then insert the values into data base

本文关键字:复选框 两个 然后 数据库 插入 是否 测试      更新时间:2023-09-26

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

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

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

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

声明3个复选框我的问题是:

为了将用户选择插入到数据库中,我应该声明3个变量所以3个不同的name属性,

和验证复选框: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属性使用相同的值

)

复选框验证

谢谢

这可能对你有帮助:

<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>

Codepad演示>>