2012-10-19 48 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。我这样做。