是否可以使用 PHP 添加事件侦听器


Is it possible to add event listener using PHP?

我正在使用 Smarty 模板创建一个调查表单,我想在其中附加一个带有特定问题的单选按钮的事件,以便在单击其中任何一个时弹出一条消息。

所以我想在它们上添加一个点击/更改事件侦听器,但不知道如何使用 PHP 来做到这一点。由于我事先不知道单选按钮 id(它们是动态生成的),我不确定是否可以在这里使用 JavaScript。任何解决方案/建议?

谷歌搜索返回各种答案,用于为Android和JavaScript添加事件侦听器,这些答案是没有用的!

只需在单选按钮中添加一个类,然后使用 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 调用。

你最接近php事件侦听器的事情是在javascript事件触发后通过ajax调用一些特定的php功能。 该请求在技术上附加到客户端的事件链(回调)。

但是PHP不这样做,因为它不是客户端。

PHP 无法侦听单选按钮,因为所有代码都在服务器端完成,而单选按钮将在客户端单击。 你几乎肯定必须使用JavaScript。 如果你对JS不是很满意,我建议你看看jQuery。 恕我直言,它非常用户友好,并且学习速度很快。 有了它,您可以收听要单击的 raido 按钮,然后通过 AJAX 将信息传递回 PHP 脚本。 我会给你一个更好的例子,但是如果不了解你的代码,就很难说明它。

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

如果您选择后者,本站将

讨论如何设置文件。如果你在文档中这样做,你只会做一些类似

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

有意义?在javascript命令中调用php文件可能更整洁,但两种方式都有效。