Это казалось таким тривиальным, когда я начал с него! Моя цель такова:
- Когда пользователь нажимает кнопку, откройте форму в новом окне.
- После отправки формы закройте всплывающее окно и верните исходную страницу. Обратный порядок тоже прекрасен - то есть, я в порядке, если всплывающее окно закрыто, а затем форма отправляется.
Вот как я это делаю:
<form action="/system/wpacert" method="post" enctype="multipart/form-data" onsubmit="return closeSelf()" name="certform">
<div>Certificate 1: <input type="file" name="cert1"/></div>
<div>Certificate 2: <input type="file" name="cert2"/></div>
<div>Certificate 3: <input type="file" name="cert3"/></div>
<div><input type="submit" value="Upload"/></div>
</form>
и Javascript выглядит следующим образом:
<script type="text/javascript">
function closeSelf(){
self.close();
return true;
}
</script>
Это, похоже, отлично работает на IE8 и Chrome; но Firefox отказывается предоставить форму; он просто закрывает всплывающее окно. Что я могу делать неправильно?
EDIT:
Забыл, чтобы опубликовать код, открывает всплывающее окно. Вот он:
<div><input type="submit" value="Upload Certificates" onclick="popupUploadForm()"/>
И соответствующий javascript:
function popupUploadForm(){
var newWindow = window.open('/cert.html', 'name', 'height=500,width=600');
}