Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onclick在Firefox中不起作用_Javascript_Jquery_Html_Firefox_Onclick - Fatal编程技术网

Javascript onclick在Firefox中不起作用

Javascript onclick在Firefox中不起作用,javascript,jquery,html,firefox,onclick,Javascript,Jquery,Html,Firefox,Onclick,我不明白为什么下面的代码可以在IE和Firefox中在不同的计算机上工作,但是在我的笔记本电脑上。 我已经卸载并重新安装了Firefox和java。 单击时,每个部分都有一个确认和删除按钮,设置确认或删除报警。 在IE中运行良好,在不同的计算机上复制Firefox。 在有问题的计算机上,当单击按钮时,屏幕闪烁,但报警既不清楚也未确认。 apache2日志中不会抛出任何错误。 它基本上将三个变量传递给另一个更新sql表的php页面。 sql中也不会抛出错误。 只需屏幕一闪,问题电脑上并没有变化。

我不明白为什么下面的代码可以在IE和Firefox中在不同的计算机上工作,但是在我的笔记本电脑上。 我已经卸载并重新安装了Firefox和java。 单击时,每个部分都有一个确认和删除按钮,设置确认或删除报警。 在IE中运行良好,在不同的计算机上复制Firefox。 在有问题的计算机上,当单击按钮时,屏幕闪烁,但报警既不清楚也未确认。 apache2日志中不会抛出任何错误。 它基本上将三个变量传递给另一个更新sql表的php页面。 sql中也不会抛出错误。 只需屏幕一闪,问题电脑上并没有变化。 在IE中在同一台计算机上运行良好

if ($_SESSION['pH1_Low_Alarm'] > 0) {
    echo "<tr>";
    echo "<td>";
    echo $_SESSION['pH1_Low_Time'];
    echo "</td>";
    echo "<td>pH1 Low</td>";
    if ($_SESSION['pH1_Low_Alarm'] == 1) {
        echo "<td>Unacknowledged</td>";
        echo "<td></td>";
        echo "<td><input type=\"submit\" name=\"alarmname_ack_id\" id=\"alarmname_ack_id\" value=\"Acknowledge\" onclick=\"alarm_sql('pH1','Low_Alarm',3)\" /></td>";
    }
    if ($_SESSION['pH1_Low_Alarm'] == 2) {
        echo "<td>Unacknowledged</td>";
        echo "<td align=\"center\"><img src=\"img/email.png\" /></td>";
        echo "<td><input type=\"submit\" name=\"alarmname_ack_id\" id=\"alarmname_ack_id\" value=\"Acknowledge\" onclick=\"alarm_sql('pH1','Low_Alarm',4)\" /></td>";
    }
    if ($_SESSION['pH1_Low_Alarm'] == 3) {
        echo "<td>Acknowledged</td>";
        echo "<td></td>";
        echo "<td></td>";
    }
    if ($_SESSION['pH1_Low_Alarm'] == 4) {
        echo "<td>Acknowledged</td>";
        echo "<td align=\"center\"><img src=\"img/email.png\" /></td>";
        echo "<td></td>";
    }
    echo "<td><input type=\"submit\" name=\"alarmname_ack_id\" id=\"alarmname_ack_id\" value=\"Delete\" onclick=\"alarm_sql('pH1','Low_Alarm',0)\" /></td>";
    echo "</tr>";
}
更新

如果我右键单击确认或删除按钮并选择检查元件: 然后,在debugger下的结果窗口中,我在上面的函数开头的var声明之后放置了一个断点。 我可以在点击按钮后,一步一步地浏览代码,实际上是这样工作的。 不知道这意味着什么,当一个单一的步骤工作,但没有断点的代码失败

这是当确认按钮不工作时,单击确认按钮后控制台中显示的内容

GET 
http://192.168.1.200/yieldbuddy/www/alarms.php [HTTP/1.1 200 OK 16ms]
GET 
http://192.168.1.200/yieldbuddy/www/img/background.png [HTTP/1.1 200 OK 11ms]
GET 
http://192.168.1.200/yieldbuddy/www/img/banner.png [HTTP/1.1 200 OK 16ms]
GET 
http://192.168.1.200/yieldbuddy/www/img/email.png

这似乎是我在笔记本电脑上安装Window7时出现的问题。我可以在家里的每台计算机上运行这个代码,但这台除外。升级到Firefox 48后,所有其他计算机仍然毫无问题地运行代码。即使在删除并重新安装firefox和java之后,也会发生这种情况。看起来我要在有问题的计算机上重新安装一个完整的操作系统。

通过在Firefox 48中执行以下操作,此问题已得到纠正

if ($_SESSION['pH1_Low_Alarm'] > 0) {
    echo "<tr>";
    echo "<td>";
    echo $_SESSION['pH1_Low_Time'];
    echo "</td>";
    echo "<td>pH1 Low</td>";
    if ($_SESSION['pH1_Low_Alarm'] == 1) {
        echo "<td>Unacknowledged</td>";
        echo "<td></td>";
        echo "<td><input type=\"submit\" name=\"alarmname_ack_id\" id=\"alarmname_ack_id\" value=\"Acknowledge\" onclick=\"alarm_sql('pH1','Low_Alarm',3)\" /></td>";
    }
    if ($_SESSION['pH1_Low_Alarm'] == 2) {
        echo "<td>Unacknowledged</td>";
        echo "<td align=\"center\"><img src=\"img/email.png\" /></td>";
        echo "<td><input type=\"submit\" name=\"alarmname_ack_id\" id=\"alarmname_ack_id\" value=\"Acknowledge\" onclick=\"alarm_sql('pH1','Low_Alarm',4)\" /></td>";
    }
    if ($_SESSION['pH1_Low_Alarm'] == 3) {
        echo "<td>Acknowledged</td>";
        echo "<td></td>";
        echo "<td></td>";
    }
    if ($_SESSION['pH1_Low_Alarm'] == 4) {
        echo "<td>Acknowledged</td>";
        echo "<td align=\"center\"><img src=\"img/email.png\" /></td>";
        echo "<td></td>";
    }
    echo "<td><input type=\"submit\" name=\"alarmname_ack_id\" id=\"alarmname_ack_id\" value=\"Delete\" onclick=\"alarm_sql('pH1','Low_Alarm',0)\" /></td>";
    echo "</tr>";
}
菜单/选项/高级/网络/连接-设置

从更改代理设置

使用系统代理

无代理


不确定原因,但这纠正了问题计算机上的问题。更改后,网页按预期工作。

没有断点,Firefox控制台中是否出现任何错误?另外,为什么要从接收到Ajax响应之前运行的代码中调用.reload?这可能就是添加断点修复问题的原因。作为一个旁白,可能相关,也可能无关,不管是什么;不知道如何在JS中实现延迟。使用setTimeout。您使用alarmname\u ack\u id将您的确认按钮多次作为id==>1st:fail。你应该把单引号设置成一个永远逃避的选择。第二。。。正如我所建议的那样。问题:您的$alarmname\u ack\u id.click处理程序在哪里?