-1

我正在尝试从 PHP 启动 Javascript 函数来初始化模块。这是我的代码:

<?php
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
$ParamArray[]='AdVisualV2jMODPHP_ver'; $ParamArray[]='0.3.0070'; // 000
$ParamArray[]='Station_ID'; $ParamArray[]=$params->get('Station_ID'); // 001
$ParamArray[]='Verbose'; $ParamArray[]=$params->get('Verbose'); // 002
$ParamArray[]='Bk_ColorODD'; $ParamArray[]=$params->get('Bk_ColorODD'); // 003
$ParamArray[]='Bk_ColorEVEN'; $ParamArray[]=$params->get('Bk_ColorEVEN'); // 004
$ParamArray[]='Ink_ColorODD'; $ParamArray[]=$params->get('Ink_ColorODD'); // 005
echo 'AVVIAMO LA PROCEDURA 0.0.095 - '.$Station_ID.'<br><br>';
echo '<div id="TabellaEventi"></div>';
$ParamArray = json_encode($ParamArray);
$ParamArray = htmlentities($ParamArray);
echo "<script language='javascript'>DisplayTable(0,15)</script>";
echo '<INPUT Type="BUTTON" VALUE="Avanti" ONCLICK="avanti('.$ParamArray.')"> ';
echo '<INPUT Type="BUTTON" VALUE="Indietro" ONCLICK="indietro('.$ParamArray.')"> ';
echo '<br>';
?>

<script>
Start = 0
Page = 15
// DisplayTable(Start,Page)

function avanti(Listaparametri) {
    Start=Start+Page+1
    DisplayTable(Start,Page)
}

function indietro(Listaparametri) {
    Start=Start-Page-1
    if (Start<0) {
        Start = 0
    }
    DisplayTable(Start,Page)
}

function DisplayTable(Inizio,Incremento) {
    xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function()
        {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
            Esito=xmlhttp.responseText;
            }
        }
    xmlhttp.open('GET','xxxxxxxxxxxxxxxx/name.php?Start='+Inizio+'&Page='+Incremento,false);
    xmlhttp.send();
    Esito='VISUALIZZAZIONE TABELLA<br>'+Esito+'<br><br>'
    document.getElementById('TabellaEventi').innerHTML=Esito;
}
</script>

当页面加载并且必须调用 DisplayTable javascript 函数时,我继续收到未捕获的引用错误 DISPLAYTABLE IS NOT DEFINED 在控制台中,而如果我删除脚本 Javascript 部分中的 // 则它可以正常工作。当然我遗漏了一些东西,我不明白是什么,谢谢你的帮助(我是 PHP/Javascript 初学者,我很抱歉)

4

1 回答 1

2

正如它所说, DisplayTable 在您调用它时没有定义。在调用它之前声明函数。通常您可以在声明函数之前调用它,但在您的情况下,您是从不同的脚本标签(在您的 PHP 中生成)调用它。

不管用 :

<script type="text/javascript">
test();
</script>
<script type="text/javascript">
function test() { }
</script>

将工作 :

<script type="text/javascript">
test();
function test() { }
</script>

并且 :

<script type="text/javascript"></script>

是您如何正确编写脚本标记。

编写代码时必须保持一致,它将帮助您发现错误,并且您也会少犯很多错误。

如果您使用:

bla bla {

}

不要使用

bla bla
    {

    }

别的地方。

不要忘记分号;指示后。保持清晰的身份等。

于 2013-04-20T10:51:07.200 回答