php在Firefox中创建的Javascript链接

时间:2009-12-02 20:58:38

标签: php javascript firefox

我正在编写一个脚本,它在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生成的链接发布。 我安装了萤火虫,但是由于我对操作的无知或者没有任何错误,它报告没有错误。

4 个答案:

答案 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();
}