Я использую всплывающее окно для заполнения формы и отправки данных в 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