2009-12-02 72 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