4

これは私のコードです

<input type="radio" name="rdNumber" value="100"<?=(isset($_POST['rdNumber']) == 100 ? "checked" : "")?>/>100 
<input type="radio" name="rdNumber" value="1000" checked="checked"/>1000 

必要に応じて機能しません。フォームが送信されると(エラーが発生した場合)、デフォルトのチェック済みラジオボタンに戻ります。つまり、値= 1000の場合、ユーザーは値= 100を再度クリックする必要がありますが、ターゲットは、ユーザーが100個のラジオボタンを選択した場合、デフォルトでチェックされた状態(つまり値= 1000)に移動せずに、100のままにします。

私はどこが間違っていますか?また、同じのif elseバージョンはどうなりますか?

4

3 に答える 3

2

ここから削除isset:

変化 :

<input type="radio" name="rdNumber" value="100" <?=(isset($_POST['rdNumber']) == 100 ? "checked" : "")?>/>100 
<input type="radio" name="rdNumber" value="1000" checked="checked"/>1000 

に :

<input type="radio" name="rdNumber" value="100" <?php echo (isset($_POST['rdNumber']) && $_POST['rdNumber'] == 100) ? "checked" : "";?>/>100 
<input type="radio" name="rdNumber" value="1000" <?php echo (isset($_POST['rdNumber']))? (($_POST['rdNumber'] == 1000)? "checked":"" ): "checked"; ?>/>1000 
于 2013-03-04T07:01:28.890 に答える
0

コードに問題があります:

正しいコードは次のとおりです。

<input type="radio" name="rdNumber" value="100" <?php echo ((isset($_POST['rdNumber']) && $_POST['rdNumber'] == 100) ? "checked" : "")?>/>100 
    <input type="radio" name="rdNumber" value="1000" <?php echo  ((isset($_POST['rdNumber']) && $_POST['rdNumber'] == 1000) ? "checked" : "")?>//>1000 

修正しましたので、今すぐお試しください。

于 2013-03-04T07:00:54.710 に答える
0

私はそれがそうであるべきだと信じています:

<input type="radio" name="rdNumber" value="100"<?=(isset($_POST['rdNumber']) && $_POST['rdNumber'] == 100 ? "checked=\"checked\"" : "")?>/>100

isset 呼び出しの結果を 100 と比較しているため、目的の結果が得られない可能性があります。

于 2013-03-04T07:01:55.220 に答える