0
function getTime()
    {

         var date = new Array(
        <?php
            $date1 = date("Y-m-d, H:i");
            echo "new Array(\"".$date1."\")";
        ?>);

        //document.write(date[0]);

        return date[0]; 

    }   
function showmychart() {

            max_time = getTime();
            min_time = getMintime(max_time);

            //document.write(max_time);
            //delete myChart;
            var c_channel = channel;
            myChart = new Drawchart(max_time, min_time,c_channel);
            myChart.showChart();

    }

    function changeSBS(){
        channel = 'sbs';
        showmychart();
    }
    function changeKBS2(){
        channel = 'kbs2';
        showmychart();
    }


    </script>
    </head>

    <body>

    <center>    
    <div id = "header">
    </div>

    <div id="middle">
                <input type = "button" id ="before" onclick="showBeforeChart();" value = "Before">
                <object id="chart"></object>
                <script class="code" id="Drawchart" type="text/javascript">showmychart();</script>
                <input type = "button" id ="after" onclick="showAfterChart();" value = "After">
    </div>
    <div id = "channel_position">
    <input type = "button" id ="before" onclick="changeSBS();" value = "aaa">
    <input type = "button" id ="before" onclick="changeKBS2();" value = "bbb">

このコードでは、aaa ボタンまたは bbb ボタンをクリックすると、関数 getTime() を使用して関数 shomychart() の max_time を更新したいと考えています。ここで、ボタン aaa をクリックしても bbb が更新されない場合、getTime() 関数が呼び出されないか、getTime() 関数が機能しないと思います...どうすればこの問題を解決できますか?? ??

4

1 に答える 1

1

PHPはサーバーサイド言語です。これは、サーバー上の PHP コードが実行され、結果のプレーンな HTML がクライアントのブラウザーに送信されることを意味します。ブラウザがページを受け取ると、次のように表示されます。

function getTime() {
    var date = new Array(
        new Array("2013-01-01 13:37")
    );

    //document.write(date[0]);

    return date[0]; 
}

日付は JavaScript コードに組み込まれていることに注意してください

より良い解決策は、サーバーの時間を (使用しようとして) ではなく、クライアントの時間を使用することです。オブジェクトを使用してこれを行うには、クライアント側言語である JavaScript を使用できます。Date

function getTime() {
    // Get current date
    var date = new Date();
    // Build a date string
    var dateString = date.getFullYear()
        + "-" + (date.getMonth()+1)
        + "-" + date.getDate()
        + " " + date.getHours()
        + ":" + date.getMinutes();
    // Return the constructed date string
    // wrapped inside an array (since apparently you need it in that format)
    // (Note that this is a short-hand notation for "new Array(dateString)")
    return [dateString];
}

使用しているグラフ ライブラリによっては、最初に日付文字列を作成する必要がないように、単純にDateオブジェクトを渡すことができる場合があります。max_time次に、独自のものを取り除き、getTime()単に使用しますnew Date()

于 2013-01-27T11:00:16.923 に答える