2012-10-19 166 views
0

時,我有下面的代碼POST數據:防止父頁面刷新提交表單

<form action="SaveToExcel.php" method="post" target="_blank" onsubmit='$("#datatodisplay").val($("<div>").append(getExcel()).html())'> 
    <input type="image" src="../../images/floppy_disk_icon.jpg" width="16" height="16" > 
    <input type="hidden" id="datatodisplay" name="datatodisplay" />  
</form> 

當提交表單時,父頁面被刷新?我可以讓父頁不刷新嗎?

的SaveToExcel.php代碼如下所示:

<?php 
header("Content-type: application/ms-excel");  
header("Content-Disposition: filename=export.xls"); 
// Fix for crappy IE bug in download. 
header("Pragma: "); 
header("Cache-Control: "); 
?> 
<html> 
    <head></head> 
    <body> 
    <?=str_replace('\"','"',$_REQUEST['datatodisplay'])?> 
    </body> 
</html> 

順便說一句,我使用jQuery

回答

-2

或者乾脆

return false; 

在表格的最後提交處理。

+0

是的,表單沒有提交時,我添加返回false – redcoder

+0

如果他不想刷新父窗口是通過不提交表單,是不是正確的? –

+0

他希望在提交表單後不刷新**。** – itachi

0

是的,你可以做到這一點加載形式在iframe 這樣<iframe src="yourform.html"></iframe>現在把它放在你的父頁面,當您提交表單頁面總不會被刷新

+0

不是一個理想的方式來做到這一點... – redcoder

+0

然後你使用Ajax表單提交然後頁面不會刷新 –

0

我會建議你做一個ajax在用戶點擊提交按鈕時調用。你可以試試jquery-ajax

極端刪除形式。編寫單獨的函數來在用戶點擊提交按鈕時調用ajax。我這樣做。