0

私はいくつかのチェックボックスを持っています

foreach ($result as $set){ 
    if ($set['Req']=='0')
    ?><input type="checkbox" name="select[]" value="1"> 
    <?else?>
    <input type="checkbox" name="select[]" value="1" checked READONLY DISABLED>?>
}

req!= 0 の場合、チェックボックスは読み取り専用になり、チェックする必要があります。そうでない場合は、ユーザーにチェックを許可するか、チェックしないでください

生成された 4 つのチェックボックスがあるとします。

checkbox1 : readonly
checkbox2 : select 
checkbox3 : not select
checkbox4 : readonly

現在、select[] は {1} のみです。これは、readonly / not checked が値を投稿しないためです。{1,1,0,1} である select[] を取得する方法は? ありがとうございました

更新:どのチェックボックスが選択されていないかを知りselect[] = 0 、ユーザーがそのボックスをチェックしていない場合に追加するにはどうすればよいですか?

私が考えることができる1つの方法は、この場合、配列の全長= 4を取得することです。これで取得できます

しかし問題は、どうすればそれを正しい位置に追加できるかということです?

currently i have select[] = {1,1,1} and $len=4;
4

4 に答える 4

1

これを試して:

<form name="myform" action="" method="post">

    <input type="hidden" name="select[1]" value="">
    <input type="checkbox" name="select[1]" value="1" checked readonly> 

    <input type="hidden" name="select[2]" value="">
    <input type="checkbox" name="select[2]" value="1"> 

    <input type="hidden" name="select[3]" value="">
    <input type="checkbox" name="select[3]" value="1" checked readonly>

    <input type="hidden" name="select[4]" value="">
    <input type="checkbox" name="select[4]" value="1">
</form>
于 2012-04-15T07:03:23.750 に答える
1

各チェックボックスに明示的なインデックスを与える方が簡単かもしれません:

<input type="checkbox" name="select[1]" value="1" />
<input type="checkbox" name="select[2]" value="1" />
<input type="checkbox" name="select[3]" value="1" />
<input type="checkbox" name="select[4]" value="1" />

そして、送信されたフォームにどのインデックスが設定されているかを で確認しますisset。チェックされていない/無効になっているチェックボックスは、送信されたフォームには表示されません。

于 2012-04-15T06:46:19.793 に答える
0

無効なフィールドはリクエストで送信されないため、javascript を使用してフォームの非表示フィールドを必要な値に設定する必要があります。

于 2012-04-15T05:59:03.250 に答える