0

以下の私のコードをご覧ください。目標は次のとおりです。ユーザーがボタンを押すと、機能main.phpが実行されます。終了したら、opt_container関数を実行してDIVの内容を入力する必要があります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は、phpではなくjavascriptコードを実行するためのハンドラーです。javascript関数を作成し、実行するphpコードに対してajaxリクエストを実行してから、htmlドキュメントに応答を配置する必要があります。ただし、応答はganttchart.phpが実行することによってすでに実行されているはずです。

于 2012-05-19T19:09:11.953 に答える
1

からサーバー側にデータを投稿していません<form>。これらのGWTパラメータを自分のものにする方が簡単<img src=""/>です。今すぐフォームを投稿する必要はありません。

例えば:

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

それ以外の場合は、次のフローが必要です。各ステップの例はGoogleでたくさん見つけることができます。

  1. ホストのWebページをロードします。
  2. run.phpに必要なパラメーターをユーザーXHRに提供し、サーバーに対して計算を実行します(ホストページでいくつかのJSを使用)。
  3. ''を、目的の画像に必要なganttchart.phpリクエストに設定します。(2)からのトランザクションを識別するために「id」が必要になる可能性があります。つまり、ganttchart.php?id = 123(ホストページでJSを使用して実行)
于 2012-05-19T19:07:45.117 に答える
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 に答える