0

私はhtml、php、javascript、mysql、およびwampserverを使用しています。

私は 3 つのチェックボックスを持っています。ユーザーは最大で 2 つのチェックボックスをオンにしてから、2 つの選択肢をデータベースに挿入します。

異なる name 属性を持つ 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 に答える