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