javascript - 在弹窗中提交表单,然后关闭弹窗

标签 javascript html popup

当我开始使用它时,这似乎微不足道!我的目标是:

  • 当用户点击按钮时,在新窗口中打开表单。
  • 提交表单后,关闭弹出窗口并返回到原始页面。相反的顺序也很好 - 即,如果弹出窗口关闭然后表单提交,我没问题。

这是我的做法:

<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');
    }

最佳答案

我已经在我的机器上执行了它也适用于 IE 和 FF 的代码。

function closeSelf(){
    // do something

    if(condition satisfied){
       alert("conditions satisfied, submiting the form.");
       document.forms['certform'].submit();
       window.close();
    }else{
       alert("conditions not satisfied, returning to form");    
    }
}


<form action="/system/wpacert" method="post" enctype="multipart/form-data" 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>

       // change the submit button to normal button
       <div><input type="button" value="Upload"  onclick="closeSelf();"/></div>
</form>

关于javascript - 在弹窗中提交表单,然后关闭弹窗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8616334/

相关文章:

javascript - Twitter Bootstrap,在一个 div 中显示所有弹出窗口

html - Bootstrap 4 Fixed Bottom Nav with dropup。如何?

javascript - 弹出窗口如何更改其父跨域的页面位置?

JavaScript:阻止执行 javascript:-分配给 location.href 的 URI

javascript - 我如何在 JavaScript 中计算这个数学公式

javascript - 有没有办法在 v-for 循环中观察输入(v-model)

javascript - Jquery画廊/灯箱onClick总是返回 "-1"

wpf - 样式化 WPF 弹出窗口(就像 iTunes 的弹出窗口一样)

javascript - 在javascript中将带引号的var从父级传递给子级

php - 从 PHP 返回 JSON 数据,并使用 Javascript 使用它