0
我使用弹出窗口来填写表单并将数据提交给MySQL。如果我在提交数据后手动关闭弹出窗口,它可以正常工作。但是,如果我通过使用“onsubmit”来关闭窗口来触发“window.close”,窗口立即关闭,但很多时候数据不会被保存。我猜这个窗口关闭得太快了,甚至在数据发送到服务器之前。我试图通过使用setTimeout函数延迟窗口的关闭。我无法让它工作,我的意思是延迟关闭弹出窗口。如何在提交表单后延迟弹出窗口关闭?
这是父窗口代码:
<input type="submit" value="my phsical template" onclick="popupUploadForm()"/>
<script type="text/javascript">
function popupUploadForm(){
var newWindow = window.open('physical.php');
}
</script>
弹出窗口代码。按下“保存”后窗口关闭。但大多数情况下,数据不会被保存。
<form method="post" action="physical.php" onsubmit="closeSelf()">
<textarea name="text" id="textarea" cols="45" rows="10"></textarea>
<div><input type="submit" value="Save"/></div>
<script type="text/javascript">
function closeSelf(){
self.close();
};
</script>
试着延迟关闭窗口。它不起作用。
function closeSelf(){
setTimeout(function(){
self.close();
},1000); };
您可以用Ajax和提交表单成功做一些行动,即关闭弹出 – MaxZoom
通过使用Ajax,它的工作原理。谢谢! – Shawn