0

请在下面查看我的代码。目标如下。当用户按下按钮时,该功能main.php应该被执行。完成后,DIV的内容opt_container应该通过运行函数来填充ganttchart.php。确实,我不知道如何:

  1. ganttchart.php之后立即执行main.php
  2. main.phpform. _

由于我是 PHP 新手,任何建议都会对我很有帮助。

<div id="fragment-2">
    <table width="100%">
        <tr>
            <td width="100%"> 
                <form name="optform" method="post" action="">
                    <div class="buttons">
                        <a href="" class="regular" onclick="click_function();return false;">
                        <img src="images/opt.png" alt=""/> Run optimizaton 
                        </a>
                    </div>
                </form>
            </td>
        </tr>
     </table>
</div>

<div id="opt_container">

</div>

<script language="javascript">
function click_function() {
     $('#opt_container').load('optim/mainOptim.php');
}
</script>
4

3 回答 3

2

您想做的事情不能仅在 PHP 中完成。PHP 脚本在远程服务器上执行,这意味着需要调用请求才能使 php 返回某些内容。用户在他的本地(客户端)机器上操作。

onclick 是执行 javascript 代码的处理程序,而不是 php。您需要创建 javascript 函数,对要执行的 php 代码执行 ajax 请求,然后将响应放置在 html 文档中。但是响应应该已经由 ganttchart.php 完成。

于 2012-05-19T19:09:11.953 回答
1

首先,如果你想让 php 运行某些东西,你可以访问它的文件,将它包含在你的文件中,或者通过 XHR 请求它。

在您的情况下,您希望您的 main.php 文件在用户按下按钮时执行。话虽如此,您可以使用ff。代码作为基础:

<!-- 
 note: This code is just an example, 
       your code may vary to according 
       to your requirements.
 -->

 <form action="" method="get">

     <input type="hidden" name="run_main_function" value="yes"/>

     <input type="submit" />

 </form>

 <?php

 if( isset( $_GET['run_main_function'] ) ):

    require_once 'path/to/your/main.php';

    /* execute something from your main.php */

    require_once 'path/to/your/ganttchart.php';

    /* execute some functions in your ganttchart.php */

    $result = function_from_ganttchart();

?>

 <div id="opt_container">

        <table width="100%">

            <tr>

                <td width="100%"> 

                    <div class="scrollbar" id="chart">

                        <img src="<?php echo $result; ?>">

                    </div>

                </td>

            </tr>

 </div
</php   
    endif;  
?>

或者,您可以使用 JavaScript 通过 XHR 请求甘特图的内容。

谢谢 :)

于 2012-05-19T19:30:53.907 回答
1

您没有将任何数据从您的<form>. 将这些 GWT 参数设置为您的<img src=""/>. 现在不需要发布表格。

例如:

<div class="scrollbar" id="chart">
    <img src="ganttchart.php?param1=foo&param2=bar">
</div>

否则,您需要以下流程。可以在 Google 上找到每个步骤的大量示例。

  1. 加载主机网页。
  2. 让用户 XHR 获得 run.php 所需的参数并对服务器进行计算(使用主机页面中的一些 JS)。
  3. 将 '' 设置为所需图像所需的 ganttchart.php 请求。您可能需要一个“id”来识别来自 (2) 的交易。即 ganttchart.php?id=123 (使用主机页面中的一些 JS 完成)
于 2012-05-19T19:07:45.117 回答