如何在“onchange”事件触发时调用PHP函数?

问题描述:

我是新来的PHP,所以请裸露在我身边。如何在“onchange”事件触发时调用PHP函数?

基本上,我得到的是三个相同的下拉列表,我使用MySQL数据填充。 如果其中一个更改索引(onchange被触发),我希望其他两个重新填充,以便它们排除使用另一个下拉列表选择的项目。我想在后面的代码中调用一个函数(通过选择的项目的值)来重新填充另外两个。

我一直在寻找一段时间,我只是无法用PHP完成它。 PHP允许从这个事件中调用函数吗?我也尝试使用AJAX,但没有。

任何示例代码将不胜感激。

+0

你的代码是什么? – 2012-08-09 11:09:50

+0

AJAX应该做的工作,不断尝试 – 2012-08-09 11:12:04

+0

'onChange'是一个JavaScript函数 - 调用另一个JavaScript函数。这与PHP有什么关系?就像PHP所担心的那样,在用户机器上可见的时候,所有事情都会被完成并被粉碎。 – Fluffeh 2012-08-09 11:12:22

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

您可以向运行调用该函数的服务器端脚本的URL发出HTTP请求。

ASP.NET有(我相信,我从来没有使用它)一些东西,将设置一个URL并生成一些JavaScript,将为您调用该URL。

PHP核心没有这样做。

一个非常粗糙的,快速和肮脏的轮廓(即不尝试是基于REST)的你怎么可能去这样做类似的东西将是:

callFunction.php: 
<?php 
    include("myFunctions.php"); 
    if ($_GET['call'] == "functionA") { 
     functionA(); 
    } 
?> 

那么你的JS将使一个Ajax请求callFunction.php?call=functionA

虽然不需要明确写入,但ASP.NET在更改下拉列表时将执行回发。

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

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

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

祝你好运