我正在编写一个脚本,它在IE和Chrome中运行良好,但这些链接在Firefox中不起作用。
基本上我使用php查询数据库并在页面内生成一些链接。
相关链接代码的示例:
<TD class="bodycopyblue"
onmouseover="this.style.background='#FFFF80';this.style.cursor='pointer'"
onmouseout="this.style.background='#FFFFFF'"
onclick="getAccountDetails(<?php print $accountinfo['audio_account_id']; ?>)"
>view CDRs</TD>
onmouseover / out代码工作正常。 onclick似乎不是。
链接调用的函数:
function getAccountDetails(account_id) {
accountform.aid.value=account_id;
accountform.submit();
}
提交表格:
<FORM id="accountform"
action="accountdetails.php?month=<?php print $cdate['mon']; ?>&year=<?php print $cdate['year']; ?>"
method="post">
<INPUT id="aid" name="aid" type="hidden" value=0>
</FORM>
表单似乎没有正确显示...但它是一个带有单个隐藏字段的简单表单。使用某些php生成的链接发布。 我安装了萤火虫,但是由于我对操作的无知或者没有任何错误,它报告没有错误。
答案 0 :(得分:0)
生成的HTML是什么?在Firefox中执行“查看源代码”并将代码粘贴到问题中。您很可能会看到格式错误的HTML。
答案 1 :(得分:0)
尝试
function getAccountDetails(account_id) {
document.getElementById('aid').value=account_id;
accountform.submit();
}
答案 2 :(得分:0)
Firebug 1.4和FF 3.5工作有点棘手,您需要打开Firebug的控制台(F12,或点击右下方的Firebug图标),然后在打开控制台的情况下重新加载页面。 Firebug窗口打开后,单击“控制台”选项卡,可能会显示错误。
我唯一的另一个建议是在你的JS声明之后添加一个semilcolon。
onclick="getAccountDetails(<?php print $accountinfo['audio_account_id']; ?>);"
Firefox通常非常宽容 - 奇怪的是它在其他浏览器中运行而不是FF。作为最终测试,请取出鼠标悬停和鼠标移动事件,然后离开onclick并查看它是否有效。
答案 3 :(得分:0)
function getAccountDetails(account_id) {
accountform.aid.value=account_id;
accountform.submit();
}
什么是accountform
?如果您没有在任何地方完成var accountform= ...
,那么您将无法获得具有该名称的任何变量,除非在IE中错误地为window
范围内的命名项创建变量。
不要依赖于此,明确设置accountform
:
function getAccountDetails(account_id) {
var accountform= document.getElementById('accountform');
accountform.elements.aid.value=account_id;
accountform.submit();
}