0

我使用 MySQL 数据填充了三个相同的下拉列表。如果其中一个更改索引(触发 onchange),我希望其他两个重新填充,以便它们排除已使用另一个下拉列表选择的项目。

在 ASP.NET 中,我只需在后面的代码中调用一个函数(传递所选项目的值)来重新填充另外两个。

我一直在闲逛一段时间,但我无法用 PHP 完成它。PHP 是否允许从此事件调用函数?我也尝试过使用 AJAX,但没有。

4

3 回答 3

1

OnChange() 是一个 js 函数,为了使用它来调用 php 函数,您必须使用 AJAX。使用 ajax,您将能够获取 php 的代码返回值,将其显示在页面中,或者进行任何您想要的操作。

祝你好运

于 2012-08-09T11:14:06.743 回答
1

您不能(直接)从客户端调用服务器端函数。

您可以向运行调用该函数的服务器端脚本的 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.

于 2012-08-09T11:15:08.287 回答
0

更改下拉列表时,ASP.NET 会执行回发,尽管您不必显式编写它。

如果您想在 PHP 中往返于服务器,则必须实现相同的逻辑(例如,在onchange事件中使用 JavaScript 发布表单)。

这也是使用 AJAX 的好情况,但是您没有提供任何有关您尝试过的内容或出错的细节,因此很难提供进一步的帮助。

于 2012-08-09T11:13:31.530 回答