0

次の構文を使用したチェックボックスのグループがあります。

echo "<form name=\"myform\" method=\"POST\" action=\"csvbuilder.php\">";
echo "<input type=\"checkbox\" name=\"list[]\" value=\"".$res['id']."\" />";

一番下に「すべてチェック」ボタンがあります。

echo "<input type=\"button\" name=\"UnCheckAll\" value=\"Uncheck All\" onClick=\"uncheckAll(document.myform.list)\" />

次の JS スクリプトを参照します。

function checkAll(field) {
  for (i = 0; i < field.length; i++)
    field[i].checked = true ;
}

問題は次のとおりです。[すべてチェック] ボタンは、入力名から角かっこを削除した場合にのみ機能しname="list"ますname="list[]"。かっこが必要です。そうしないと、PHP フォーム ハンドラーが機能しません。ブラケットをJSに追加しようとしましたonClick="uncheckAll(document.myform.list[])"が、それも機能しません。

JS と PHP をうまく動作させるにはどうすればよいですか?

すべての回答者に感謝します。参考文献/説明/jfiddlesに特に感謝します。

4

3 に答える 3

1

checkAllボタンの貼り付けに失敗しました

JS 関数:

function checkAll(frm){
    var checkBoxes = frm.elements['list[]'];
    for (i = 0; i < checkBoxes.length; i++){
        checkBoxes[i].checked = (frm.CheckAll.value == "Check All") ? 'checked' : '';
    }
    frm.CheckAll.value = (frm.CheckAll.value == "Check All") ? "Uncheck All" : 'Check All';
}

クリック時:

echo "<input type=\"button\" name=\"CheckAll\" value=\"Check All\" onClick=\"checkAll(document.myform)\" />
于 2012-11-29T08:35:29.450 に答える
1

次の方法でアクセスできますdocument.myform['list[]']

echo "<input type=\"button\" name=\"UnCheckAll\" value=\"Uncheck All\" onClick=\"uncheckAll(document.myform['list[]'])\" />
于 2012-11-29T08:39:41.253 に答える
0

これを試して:

function checkAll(fieldName) {
    var fields = document.getElementsByName(fieldName);
    for (i=0; i<fields.lengh; i++) {
        fields[i].checked = true;
    }
}

次に、次の PHP スニペットを使用して HTML からこれを呼び出します。

echo "<input type=\"button\" name=\"UnCheckAll\" value=\"Uncheck All\" onClick=\"uncheckAll('list[]')\" />

onClickボタンの -function はcheckAll、要素の代わりに要素名を渡して -function を呼び出すことに注意してください。

于 2012-11-29T08:38:06.663 に答える