HTML に次のようなチェックボックスがあります。
<input type="hidden" name="<TMPL_VAR NAME=SHORT>" value="<TMPL_VAR NAME=ELSE>">
<input type="checkbox" name="<TMPL_VAR NAME=SHORT>" id="checkbox-2" value="<TMPL_VAR NAME=FLAG>" class="checkbox mid-margin-left">
<label for="checkbox-2" class="label"><TMPL_VAR NAME="NAME"></label>
基本的に、ここで達成しようとしているのは、チェックボックスがチェックされている場合は 1 つの値が送信され、チェックボックスがチェックされていない場合は別の値が送信されることです (基本的にデフォルト値)。さて、これは動的なので、「これが定義されている場合はこれを意味し、定義されていない場合は別のことを意味する」というようなことを CGI で行うことはできません。
とにかく、チェックボックスをオフのままにすると、非表示の入力から値が取得されます。ただし、チェックすると両方の値が得られます。ここで、「これに複数の値がある場合、使用する値は 2 番目の値です」と言えます。しかし、複数の値を受け入れる選択リストの値を取得している場合はどうなるでしょうか? そのような状況では、送信されたすべての値が有効であるため、2 番目の値を取るとは言いたくありません。
つまり、私が言おうとしているのは、「チェックボックスで、複数の値がある場合は 2 番目の値を取得し、それ以外の場合は最初の値を取得する」ということです。
これを行う方法についてのアイデアはありますか?多分私はこれを正しくしていませんか?これを達成するためのより良い方法に関する提案はありますか? ブール値 (はい/いいえ) にラジオ ボタンを使用したくありませんが、それが唯一の方法である場合は、そうします。