无法理解为什么我收到未捕获的参考错误功能

时间:2013-04-20 10:46:27

标签: javascript

我正在尝试从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在控制台中没有定义,并且必须调用DisplayTable javascript函数,如果我在脚本Javascript部分删除了//它可以正常工作。当然我错过了什么,我无法理解什么,谢谢你的帮助(我是PHP / Javascript初学者,我道歉)

1 个答案:

答案 0 :(得分: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
    {

    }

其他地方。

不要忘记分号;经过指示。保持清晰的认同等。