2012-05-09 16 views
0

Smartyテンプレートを使用して調査フォームを作成しています。特定の質問のラジオボタンを使用してイベントを添付し、いずれかの質問がクリックされたときにメッセージをポップアップさせたいと思っています。 ですから、クリック/変更イベントリスナーを追加したいのですが、PHPを使用してそれを行う方法はわかりません。あらかじめラジオボタンのIDを知らないので(その場で生成されます)、ここでJavascriptを使用できるかどうかはわかりません。 解決方法や提案はありますか?PHPを使用してイベントリスナーを追加することはできますか?

Google検索では、アンドロイドとjavascript用のイベントリスナーを追加するためのすべての種類の回答が返されますが、これは役に立たないものです!

+1

PHPを使用してJavaScriptサーバー側の部分を生成できないのはなぜですか? –

+0

idがわからない場合は、ラジオボタンをどのように見つけますか? – ilanco

+0

SmartyではラジオボタンがラジオボタンのIDを作成する場所であるテンプレートを使ってポップアップでラジオボタンが追加される質問が(dbからフェッチすると)知ります。私はPHP内でコード生成ロジックを使用しようとすることができますが。 ジャックの提案音が可能性のあるオプションのように見え、その詳細を検索 – Ani

答えて

3

ラジオボタンにクラスを追加し、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" /> 

は現在のファイルには、サーバーに何かを伝えるために、クリックが必要な場合は、クリックイベントハンドラ内でAJAX呼び出しを入れ

$(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 

    }); 
}); 

をmyjsfile.js。

+0

コードのThnx!私は、既存のシステムを使って構築していたので、問題を抱えていました。アイデアを組み込むためにいくつかの狩猟や醜いハッキングをしました。必要に応じて作業:) – Ani

0

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

+0

私はJSで働いていたので、それは問題ではありません。私は上記のコメントでJackが提案したようにPHP内でJSを作成できることを認識していなかったので、これを行う方法を今調べています。私はそれが私のprobを解決すると思う。それを説明するコードがあれば、非常に役に立ちます。ありがとう! – Ani

2

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

しかし、クライアント側ではないため、phpはそうしません。

-1

あなたはこれを行うことができます、あなたはただあなたのJavaScriptを書くためにPHPを使いたいです。これは、ファイルに書き込むか、スクリプトをPHPファイルに指定することで、2つの方法のうちの1つを行うことができます。

あなたは後者を選択した場合は、this site

は、ファイルをセットアップする方法について説明します。ドキュメントでそれを行う場合は、

<?php 

    echo "<script>"; 

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

などがありますか? javascriptコマンドでphpファイルを呼び出すのはおそらくもっと控えめですが、どちらの方法でも動作します。

関連する問題