-1

私はここで検索しましたが、多くの同様の、そしておそらくもっと複雑な状況を見つけたにもかかわらず、私がやりたいことに対する答えを見つけることができませんでした.

基本的に、私のサイトの検索フォームでは、2 つのラジオ ボタン オプションを提示したいと考えています。

<label><input type="radio" name="question_9[]" value="Blue" checked="checked" />Blue</label>    
<label><input type="radio" name="question_9[]" value="Green" />Green</label>

しかし、検索フォームで送信したいのは次のとおりです。

<input type="hidden" name="question_9[]" value="Blue"  checked="checked"/>
<input type="hidden" name="question_9[]" value="Blue/Green"  checked="checked"/>

また

<input type="hidden" name="question_9[]" value="Green"  checked="checked"/>
<input type="hidden" name="question_9[]" value="Blue/Green"  checked="checked"/>

フォームが送信されたときにどのラジオボタンがチェックされているかによって異なります。

私が使用しているソフトウェアは、最近 scriptaculous から JQuery に移行されましたが、これはまったくの初心者です。私が知る限り、このような回避策を講じない限り、ラジオボタンで1つの値しか選択できないため、どのラジオボタンが選択されているかに基づいて質問に2つの値を渡す簡単な方法があることを願っています。ラジオボタン自体はフォームで値を送信しない/送信すべきではないため、名前を変更したり、機能させるために必要なことは何でも行うことができます。

ヒントに本当に感謝していますが、これと同じことをするように求める別の質問を探しても見つかりませんでした(ちょっと驚いた)が、このような質問で冗長にならないことを願っています。

4

1 に答える 1

0

ラジオ ボタン、チェックボックス、非表示のテキスト フィールドなどを使用するかどうかに関係なく、同じ名前の 2 つの値を送信することはできません。データを処理する PHP/ASP スクリプトが何を見るかを考える必要があります。例えば、PHP の場合、$_POST['question_9'] (または $_GET['quest_9']) にはどのような値が必要ですか? その値は、単一のフィールドから渡す必要があります。

良いニュースは、適切な情報をスクリプトに渡すための派手な JavaScript トリックは必要ないということです。PHP 変数を「Blue Blue/Green」にしたい場合は、ラジオ ボタンの「value」要素を「Blue Blue/Green」に変更するだけです。

PHP側で値を解析する必要があります-たとえば

$colorArray = explode(' ',$_POST['question_9'])

PHPの爆発()は、区切り文字を使用して文字列を配列に分割します。この例ではスペースを使用しています。

編集:

明確化に応じて、解決策はより簡単です。ラジオボタンは、青または緑が提出されたかどうかを取得します。青または緑がチェックされているかどうかに関係なく、「question_9」配列の一部として青/緑も提出したい場合は、1 つ追加するだけでよいはずです。あなたが言ったような隠しフィールド(チェックボックスとラジオボタンにのみ適用されるため、「チェック済み」属性を削除します):

<input type="hidden" name="question_9[]" value="Blue/Green"/>
于 2013-02-25T22:31:19.087 に答える