1

私は PHP スクリプトを使用していますが、ラジオ ボタンが 2 つあったとしましょう。

どちらかを選択したときに (主な意図 | メッセージボックスを表示する) などのコードを実際に実行するにはどうすればよいですか?

RadioButton1という名前のラジオ ボタンがchecked/selectedあるmessage boxとしRadioButton1 Selectedます。

これはPHPだけで可能ですか?または、PHP ページに投稿する html ページを統合する必要がありますか?

4

5 に答える 5

3

そのようなクライアント側の対話には Javascript を使用します。以下のコードはonchangeイベントをリッスンし、alert().

jsFiddle デモ

<input type="radio" name="myradio" value="RadioButton1" />
<input type="radio" name="myradio" value="RadioButton2" />
<input type="radio" name="myradio" value="RadioButton3" />

<script>
​window.onload = function()
{
    var radios = document.getElementsByName("myradio");
     for(var i=0; i<radios.length; i++)
     {
        radios[i].onchange = function()
        {
            if(this.checked)
            {
                alert(this.value + " selected");
            }
        }
     }             
}​
</script>

最初の 3 行はラジオ ボタンの HTML です。その後、Javascriptコード<script>を示すタグがあります。Javascript はイベントにコードを追加しています。これは単に、ページがロードされたときにこのコードを実行することを意味します。次に、すべてのラジオ ボタン要素を という配列に取得します。そのためには、ラジオ ボタン グループ名を渡します。次に、配列内の各ラジオ ボタンをループしてハンドラーを割り当てます。つまり、各ラジオ ボタンが変更されたときにこのコードを実行します。その中で、ラジオ ボタンが であるかどうかを確認し、そうである場合はアラートを表示し、ラジオ ボタンの値が, , になることを示します。onloadradiosgetElementsByName()myradioonchangecheckedRadioButton1RadioButton2RadioButton3

于 2012-11-28T08:00:01.623 に答える
1

フォーム要素の選択はクライアントのブラウザーで行われますが、PHP はサーバー側の言語です。たとえば、フォーム送信時の POST 要求を介して、実際にデータがサーバーに送り返されるまで、ユーザーが何をクリックしたかはまったくわかりません。

いいえ、PHP はあなたが求めているものを達成することができません。

でも簡単な方法があります。JavaScript はクライアント側で実行されるため、イベント リスナーをラジオ ボタンに簡単にアタッチし、必要に応じてメッセージ ボックスを表示できます。

于 2012-11-28T07:55:46.713 に答える
1

phpだけでは無理!これを行うのが最も簡単だったので、Jqueryを使用してみてください

$(document.body).on('click', '#radio-btn', function(){
    $.get( 'file1.php' , function (data) {
          //whatever you want to do after fetching the data from a php file
    }); 
 });
于 2012-11-28T07:56:19.007 に答える
1

php だけではできませんが、Jquery ajax を使えばできます。これを行うには、ラジオ ボタンをクリックして ajax リクエストを作成し、メッセージ ボックスに応答データを入力します。例を挙げて説明しましょう:

<div id='msg_box'>Message will be displayed here</div>

ラジオ ボタンをクリックすると、javascript の関数を呼び出す ajaxCallForMessage() と言う

<script type="text/javascript">
function ajaxCallForMessage(){
$.ajax({
url: "Url of the page which contain message/?btn_name=xy",
 mthod: "GET"
}).done(function ( data ) {
$('#msg_box').append(data);
});

}

</script>

jqueryが含まれていることを確認してください。

于 2012-11-28T07:57:58.340 に答える