3

2つのページがあり、最初のページでラジオボタンを含むフォームを送信します。

2ページ目から、$_POSTを使用してラジオボタンからの応答を読み取ろうとします。

問題は、送信を押すと、2ページ目の$_POSTがNULLになることです。しかし、最初のページのラジオボタンを無効にしていない場合、2番目のページの$_POSTはラジオボタンからデータを正しく読み取ります。

$ _POSTに無効なラジオボタンの値を読み取らせるための解決策はありますか?

このJavascriptコードを使用して、ユーザーがクリックしたときにラジオボタンを無効にします。

function disableRadio(groupName){
        var radio=document.getElementsByName(groupName);
        for(c=0;c<radio.length;c++)
            radio[c].disabled=true;
}

これは、2つのページのそれぞれからの簡単なコードです。

ページ1:

echo '<form action="Page2.php" method="post">',
     "<input type='radio' name='Question1' value='1' onClick='disableRadio(Question1)' />",
     "<input type='radio' name='Question1' value='2' onClick='disableRadio(Question1)' />",
     "<input type='radio' name='Question1' value='3' onClick='disableRadio(Question1)' />",
     "<div><input type='submit' value='Submit'></div>",
     "</form>";

2ページ:

$response=$_POST['Question1'];
echo $response;

この質問を更新する

ReadOnly属性を使用する場合、グループ内のラジオボタンは引き続きクリック可能です。そこで、他のラジオボタンを無効にすることにしました。ユーザーが答えを変えることができると感じてほしくないので、より良い解決策はありますか?

4

5 に答える 5

4

無効にされた入力はそれらの値を送信しません。

readonlyこの動作が状況に適している場合は、代わりにそれらを設定できます。

于 2012-07-25T21:13:52.180 に答える
2

Q:「オフ」ボタンを押した後に受話器から音を出す方法はありますか?

A:いいえ、代わりに「ミュート」を押してみてください:)

「無効」(この入力はオフになっています)と「読み取り専用」(値はありますが、ユーザーはそれを改ざんできません)には違いがあります。

'役立つことを願っています..PSM

于 2012-07-25T21:16:07.233 に答える
1

非表示の値を設定してラジオボタンのプロキシを使用できます。ラジオボタンの状態に応じて、ラジオボタンを無効にして、常に必要な値を設定できます。

于 2012-07-25T21:14:52.670 に答える
0

入力要素のreadonly代わりにを使用する必要があります。disabled

于 2012-07-25T21:14:13.170 に答える
0

を使用する方がよい場合が<input type="hidden">あります。ユーザーが以前に送信した内容を本当に確認する必要がある場合は、名前のない無効なラジオボタンのセットを追加して表示できます。

于 2012-07-25T21:15:17.793 に答える