Отправьте форму во всплывающем окне, а затем закройте всплывающее окно.

Это казалось таким тривиальным, когда я начинал с этого! Моя цель такова:

  • Когда пользователь нажимает кнопку, открывается форма в новом окне.
  • После отправки формы закройте всплывающее окно и вернитесь на исходную страницу. Обратный порядок тоже хорош - то есть я в порядке, если всплывающее окно закрывается, а затем форма отправляется.

Вот как я это делаю:

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

РЕДАКТИРОВАТЬ:

Забыл опубликовать код, открывается всплывающее окно. Вот он:

<div><input type="submit" value="Upload Certificates" onclick="popupUploadForm()"/>

И соответствующий javascript:

function popupUploadForm(){
        var newWindow = window.open('/cert.html', 'name', 'height=500,width=600');
    }
22
задан curioustechizen 23 December 2011 в 13:01
поделиться