gpt4 book ai didi

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

转载 作者:技术小花猫 更新时间:2023-10-29 12:01:52 24 4
gpt4 key购买 nike

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

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

这是我的做法:

<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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com