Possible Duplicate:
Call php function from javascript




谁能帮助我如何在JS函数上调用php函数?

这是事件:

我有2个选择框(例如项目和任务)
在项目选择框上选择时,将填充任务选择框。
在任务选择框中填充的值在我的PHP DAO中。

这是我的JavaScript,但无法正常工作,但我的想法是这样的

function getProjTask()
{
    var taskList = <?php $projTask->getProjectTask("ProjectName");  ?>

    //values for task selection box has been populated here

}

最佳答案

为此,您需要使用AJAX。可以使用普通的旧javascript或您喜欢的库来完成。使用库会容易得多。我倾向于自己使用YUI

您需要做的很简单:


听项目选择框进行更改。
发生更改时,使用AJAX将请求发送到您的PHP端点。
然后,您的端点将返回一个JSON响应,其中包含任务选择框的值。
使用javascript解码JSON响应,并为任务选择框创建<option>元素。


一个简单的例子:

PHP方面:

<?php

$list = array('list' => array('task1' => 1, 'task2' => 2));

header('Content-Type: application/json; charset=utf-8');
echo json_encode($list);

exit();


JS端(我正在使用YUI,这仅用于AJAX,您仍然需要编写代码来侦听选择框的更改):

<script>
// Create a YUI instance using io-base module.
YUI().use("io-base", function(Y) {
    var uri = "get.php?foo=bar";

    // Define a function to handle the response data.
    function complete(id, o) {
        var data = Y.JSON.parse(o.responseText);

        //Parse the JSON, loop and insert the options here.
    };

    // Subscribe to event "io:complete"
    Y.on('io:complete', complete);

    // Make the request
    Y.io('http://mysite.com/myendpoint.php');
});
<script>

10-05 21:09
查看更多