2

Smartyテンプレートを使用して調査フォームを作成しています。このテンプレートでは、特定の質問のラジオボタンを使用してイベントを添付し、いずれかをクリックするとメッセージがポップアップ表示されるようにします。

そのため、クリック/変更イベントリスナーを追加したいのですが、PHPを使用してそれを行う方法がわかりません。ラジオボタンIDは事前にわからないため(オンザフライで生成されます)、ここでJavaScriptを使用できるかどうかわかりません。解決策/提案はありますか?

グーグル検索は役に立たないAndroidとJavaScriptのイベントリスナーを追加するためのあらゆる種類の答えを返します!

4

4 に答える 4

4

ラジオボタンにクラスを追加するだけで、JavaScript / JQueryを使用して、必要に応じて入力にイベントリスナーを追加できます。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="myjsfile.js"></script>
<input type="radio" class="clickyradio" />
<input type="radio" class="clickyradio" />
<input type="radio" class="clickyradio" />

今ファイルmyjsfile.jsに

$(document).ready(function() {
   $('.clickyradio').click(function() {
      // whatever you want to happen when it gets clicked
      // "this" keyword will refer to the input element that got clicked

   });
});

サーバーに何かを伝えるためにクリックが必要な場合は、クリックイベントハンドラー内にajax呼び出しを配置し​​ます。

于 2012-05-09T23:06:45.990 に答える
3

phpイベントリスナーに最も近いのは、javascriptイベントが発生した後、ajaxを介して特定のphp機能を呼び出すことです。そのリクエストは、技術的にはクライアント側からの一連のイベント(コールバック)に関連付けられます。

しかし、phpはクライアント側ではないため、これを行いません。

于 2012-05-09T22:44:10.023 に答える
0

すべてのコードはサーバー側で実行されるため、PHPはラジオボタンをリッスンできませんが、クライアント側ではラジオボタンがクリックされます。ほぼ確実にJavaScriptを使用する必要があります。JSにあまり慣れていない場合は、jQueryをチェックすることをお勧めします。それは非常にユーザーフレンドリーで、私見をすぐに学ぶことができます。これにより、クリックされるraidoボタンをリッスンし、AJAXを介して情報をPHPスクリプトに戻すことができます。より良い例を示しますが、コードを知らなければ、それを説明することは困難です。

于 2012-05-09T22:41:05.367 に答える
0

あなたはこれを行うことができます、あなたはあなたのjavascriptを書くためにphpを使用したいだけです。これは、ファイルに書き込むか、スクリプトでphpファイルを指定することにより、2つの方法のいずれかで実行できます。

後者を選択した場合、このサイト

ファイルの設定方法について説明します。ドキュメントでそれを行う場合は、次のようなことを行うだけです。

    <?php

   echo "<script>";

   if($radio_button == 'blah'){
      echo "document.getElementById('$radio_button')";//bind your event here
   }
   echo "</script>";

わかる?javascriptコマンドでphpファイルを呼び出す方がおそらくきれいですが、どちらの方法でも機能します。

于 2012-05-09T22:49:15.510 に答える