-1

PHPページからJavaスクリプトにいくつかの変数を渡そうとしています。ただし、最初のパラメーターのみが渡されます。

PHP ページは、次のようにスクリプトを呼び出します。

<?
$sdate = 0;
$edate = 2;
?>
<script type="text/javascript">
            window.onload = function() { 
                datagrid = new DatabaseGrid('<? echo $sdate; ?>', '<? echo $edate; ?>');
            }; 
</script><BR>

呼び出される Java Script は次のとおりです。

function DatabaseGrid(sdate, edate) 
{ 
    this.editableGrid = new EditableGrid("demo", {
        enableSort: true,
        tableLoaded: function() { datagrid.initializeGrid(this); },
        modelChanged: function(rowIndex, columnIndex, oldValue, newValue, row) {
            updateCellValue(this, rowIndex, columnIndex, oldValue, newValue, row);
        }
    });
    this.fetchGrid(sdate);
    this.fetchGrid(edate); 

}

DatabaseGrid.prototype.fetchGrid = function(sdate, edate)  {
    // call a PHP script to get the data
    alert("loaddata_dailyotp.php?o=" + sdate + "&e=" + edate + "");
    this.editableGrid.loadXML("loaddata_dailyotp.php?o=" + sdate + "&e=" + edate + "");
};

DatabaseGrid.prototype.initializeGrid = function(grid) {
    grid.renderGrid("tablecontent", "testgrid");
};  

要求されている内容を正確に表示するアラート ウィンドウを追加しました。私はこれを期待していました:

loaddata_dailyotp.php?o=0&e=2

しかし、私が得ているのは次のとおりです。

loaddata_dailyotp.php?o=0&e=未定義

2 番目のパラメーターが通過しないのはなぜですか?

4

4 に答える 4

4

「edate」パラメーターを呼び出しに渡していませんfetchGrid()。そのため、「未定義」と表示されます。何らかの理由で、fetchGrid()代わりに 2 回呼び出しています。

于 2015-07-13T13:44:35.977 に答える