我使用的是html,php,javascript,mysql和wampserver。
我有3个复选框,用户应该最多检查两个,然后我将两个选项插入我的数据库。
我已声明3个具有不同名称属性的复选框(不同=>因为我在我的php代码中声明了3个变量)
但是当我想使用javascript插入验证时(以验证是否只选中了最多2个复选框) 我发现我应该声明具有相同属性名称
的3个复选框我的问题是:
要将用户选择插入我的数据库,我应该声明3个变量,这样就有3个不同的名称属性,
并验证复选框:2至少要检查我必须使用相同名称attribue
还有其他我不知道的解决方案吗?
HTML code:
<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属性使用相同的值
谢谢
答案 0 :(得分: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>