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

你可以这样做,你只想使用 php 来编写你的 javascript。您可以通过以下两种方式之一执行此操作,将其写入文件或将脚本指向 php 文件。

如果选择后者,本站

讨论如何设置文件。如果您在文档中执行此操作,您只需执行类似的操作

    <?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 回答