从php程序运行时,JS Style Block不会执行

时间:2013-04-25 22:27:20

标签: php javascript

我遇到了一个奇怪的问题。我正在使用php if,依赖于结果,向js函数发送1。如果发送1,它应该阻止html的一部分,以便可以看到它。 1正在正确发送,因为它显示在警报中,但是当它到达命令时

document.getElementById("countdown").style.display="block";

我使用的代码是:

PHP:

if ($Grade == "Kindergarten") 
{
    echo "<script language=javascript>showCountDown(1)</script>";
}

我的js文件中的代码是:

function showCountDown(index)
{
    alert("Checking for Kindergarten");
    if (!index)
        var n = document.getElementById("Grade").selectedIndex;
    else
        var n = index;

    alert("Showing Index Selected: " + n);

    if (n == 1) 
    {
        alert("about to show Countdown to Kindergarten");
        document.getElementById("countdown").style.display="block";
        alert("Showing Countdown to Kindergarten");
    } 
    else 
    {
        alert("About to remove Countdown to Kindergarten");
        document.getElementById("countdown").style.display="none";
        alert("Removing Countdown to Kindergarten");
    }
}

这是一个奇怪的部分,至少在我看来,当从html调用时,相同的代码可以工作:

<select size="1" name="Grade" id="Grade" onChange="showCountDown();">

我想,如果可能的话,等级是“幼儿园”,显示div倒计时。但是,我不明白为什么在发送正确的变量时代码无法正常工作。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试查看浏览器控制台上是否存在任何javascript错误? 它应该给你一些关于错误的线索..

如果您对showCountDown有任何引用错误,可能是因为:

1 - 您忘记包含您的javascript文件。你可以在php上这样做:

echo "<script src='your-file.js'></script>";

2 - 您在声明函数之前调用该函数

3 - 您在javascript文件上有其他错误

正如你所说,你在HTMl上调用函数没有麻烦,我怀疑这是第二种选择。