これはおそらく簡単なことですが、私は PHP の初心者であり、得意ではないので、ご容赦ください。私は立ち往生しています!
はいまたはいいえの回答をラジオ ボタンとして設定したフォームがあります。ユーザーがクリックするyes
と、さらに 2 つのラジオ ボタンの選択肢が表示されます:a
とb
. クリックした場合はno
、ラジオ ボタンc
とが表示されますd
。
ちなみに、すっきりさせるために、またはがクリックされるまでa
and b
DIV とc
and DIV を非表示にする JavaScriptがあります。を含む DIV が消え、の後に をクリックするとDIV に置き換えられます。逆の場合も同様です。それはすべてうまくいっています。d
yes
no
no
c
d
yes
yes
no
私の問題はPHPにあります。可能性は低いですが、ユーザーがno
を押して選択し、たとえばを選択d
し、回答を に変更して をyes
選択a
した場合でも、スクリプトは を返しますd
。d
これは、まだ選択されていて、HTML フローの最後に表示されるためだと思います。
スクリプトで実行したいのは、選択されている場合でも、選択されている場合でもc
無視することです。同様に、 が選択されている場合は無視されたいと思います。d
yes
a
b
no
HTML は次のようになります。
<label for="yes_or_no">Yes or No?</label>
<input type="radio" name="yes_or_no" id="yes" value="yes" />
<label for="yes">Yes</label>
<input type="radio" name="yes_or_no" id="no" value="no" />
<label for="no">No</label>
<div id="yes">
<label for="a_or_b" id="a_or_b">A or B?</label>
<input type="radio" name="a_or_b" id="a" value="a" />
<label for="a">A</label>
<input type="radio" name="a_or_b" id="b" value="b" />
<label for="b">B</label>
</div>
<div id="no">
<label for="c_or_d" id="c_or_d">C or D?</label>
<input type="radio" name="c_or_d" id="c" value="c" />
<label for="c">C</label>
<input type="radio" name="c_or_d" id="d" value="d" />
<label for="d">D</label>
</div>
私のPHPは次のように見えますが、正しく動作していません:
$yes_or_no = $_REQUEST["yes_or_no"] ;
$a_or_b = $_REQUEST["a_or_b"] ;
$c_or_d = $_REQUEST["c_or_d"] ;
if ($yes_or_no="yes" && $a_or_b!="") $result="$a_or_b";
if ($yes_or_no="no" && $c_or_d!="") $result="$c_or_d";
$feedback = "$result";
その後、変数$feedback
がメールで送信されます。
それが理にかなっていることを願っています!ご協力いただきありがとうございます!
マーティン。