2009-12-02 68 views
0

我正在研究一个脚本,它在IE和Chrome中工作正常,但链接在Firefox中不起作用。由Firefox在Firefox中做的Javascript链接

基本上我使用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 /出代码工作正常。 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

尝试

function getAccountDetails(account_id) { 

     document.getElementById('aid').value=account_id; 
     accountform.submit(); 
} 
+0

这并不工作,但我必须做的document.getElementById的账户,并呼吁从该结果提交。 – Valrus 2009-12-04 15:36:48

0

生成的HTML是什么?在Firefox中做一个“查看源代码”并将代码粘贴到问题中。您很可能会看到格式不正确的HTML。

0

的Firebug 1.4和FF 3.5工作有点棘手,你需要打开Firebug的控制台(F12,或者点击右下角的Firebug的图标),然后重新装入控制台打开的网页。一旦Firebug窗口打开,点击“控制台”选项卡,也许它会显示错误。

我唯一的建议是在你的JS语句后添加一个semilcolon。

onclick="getAccountDetails(<?php print $accountinfo['audio_account_id']; ?>);" 

虽然Firefox通常很宽容,但它在其他浏览器中运行并不是FF,这很奇怪。作为最后的测试,取出鼠标悬停和鼠标悬停事件,只需离开onclick,看看它是否自行工作。

+0

感谢萤火虫的信息,它确实显示了一个Java脚本错误。 “帐户表单未定义”。实际上它不喜欢我在函数中引用元素的方式。 – Valrus 2009-12-04 15:35:51

0
function getAccountDetails(account_id) { 
    accountform.aid.value=account_id; 
    accountform.submit(); 
} 

什么是accountform?如果你没有在任何地方完成​​,那么除了在IE中错误地为window作用域中的命名项创建变量外,你将不会得到具有该名称的任何变量。

不要依赖这个,设置accountform明确:

function getAccountDetails(account_id) { 
    var accountform= document.getElementById('accountform'); 
    accountform.elements.aid.value=account_id; 
    accountform.submit(); 
} 
+0

accountform是我尝试提交的表单的ID。 – Valrus 2009-12-03 19:04:35

+0

然后,您将不得不使用'document.getElementById'将其放入一个变量中。 – bobince 2009-12-04 00:01:36