我使用 MySQL 数据填充了三个相同的下拉列表。如果其中一个更改索引(触发 onchange),我希望其他两个重新填充,以便它们排除已使用另一个下拉列表选择的项目。
在 ASP.NET 中,我只需在后面的代码中调用一个函数(传递所选项目的值)来重新填充另外两个。
我一直在闲逛一段时间,但我无法用 PHP 完成它。PHP 是否允许从此事件调用函数?我也尝试过使用 AJAX,但没有。
OnChange() 是一个 js 函数,为了使用它来调用 php 函数,您必须使用 AJAX。使用 ajax,您将能够获取 php 的代码返回值,将其显示在页面中,或者进行任何您想要的操作。
祝你好运
您不能(直接)从客户端调用服务器端函数。
您可以向运行调用该函数的服务器端脚本的 URL 发出 HTTP 请求。
ASP.NET 有(我相信,我从来没有使用过)一些东西,它们会设置一个 URL 并生成一些 JavaScript 来为你调用那个 URL。
PHP 核心中没有任何东西可以做到这一点。
一个非常粗略、快速和肮脏的大纲(没有试图成为 RESTful)关于你如何去做这样的事情是:
callFunction.php:
<?php
include("myFunctions.php");
if ($_GET['call'] == "functionA") {
functionA();
}
?>
然后你的 JS 会向callFunction.php?call=functionA
.
更改下拉列表时,ASP.NET 会执行回发,尽管您不必显式编写它。
如果您想在 PHP 中往返于服务器,则必须实现相同的逻辑(例如,在onchange
事件中使用 JavaScript 发布表单)。
这也是使用 AJAX 的好情况,但是您没有提供任何有关您尝试过的内容或出错的细节,因此很难提供进一步的帮助。