2011-10-25 20 views
0

我有以下代碼雙彈出的onclick IE8

<script> 

    function Results() 
    { 
     document.report_form.action = "index.php?p=report_view"; 
     document.report_form.target = "_blank";  
     document.report_form.submit();    
     return true; 
    } 

    function CSV() 
    { 
     document.report_form.action = "csv.php"; 
     document.report_form.target = "_blank";  
     document.report_form.submit();    
     return true; 
    } 

</script> 

<form name='report_form' method='post'> 

    <input type='submit' name='view_table' value='Display' onclick="return Results();"> 
    <input type='submit' name='view_csv' value='Export CSV'  onclick="return CSV();"> 

</form> 

在使用Firefox或Chrome,IE8使用時不會觸發雙彈出,用戶點擊按鈕一次,無論是2個窗口彈出或出現2個下載請求。

我找不到解決辦法,請問我可以告訴我我錯了嗎?

謝謝

+0

我懷疑這些代碼'document.report_form.target =「_blank」; document.report_form.submit();',點擊時應該打開一個帶有報告的新窗口。 – Deeptechtons

+0

您正在提交表單兩次:只刪除'document.report_form.submit();'行。 –

+0

你是正確的影子嚮導,非常感謝 –

回答

0

嘗試返回false;而不是返回真實;

+0

除非你解釋並給出更多細節,這應該是一個評論 - 答案預計包含更多細節。 –

+0

Shadow Wizard的回覆對我有用 –

+0

@ShadowWizard - 通常我會同意更多的細節更好,但在這種情況下,我認爲很明顯這個答案是說_short_問題代碼中的兩個地方有'return true ;'應該改爲'return false;'。 (鑑於示例代碼我想不出任何其他解釋。)並不是說它不會很好地知道_why_這將解決的事情,但它是足夠的信息,讓代碼工作... – nnnnnn