我正在使用 Smarty 模板创建一个调查表,我想在其中附加一个带有特定问题单选按钮的事件,以便在单击其中任何一个时弹出一条消息。
所以我想在它们上添加一个单击/更改事件侦听器,但不知道如何使用 PHP 来实现。由于我事先不知道单选按钮 ID(它们是动态生成的),我不确定我是否可以在这里使用 JavaScript。任何解决方案/建议?
谷歌搜索返回所有类型的为 Android 和 JavaScript 添加事件侦听器的答案,这些都没有用!
我正在使用 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 文件可能更简洁,但两种方式都可以。