提交表单并关闭窗口——这是正确的做法
Submitting a form and closing the window - the correct way to do it?
我试图提交一个简单的表单,是在一个弹出对话框,然后关闭对话框。我所见过的最好的文章是在弹出框中提交表单,然后关闭弹出框,但它似乎间歇性地为我工作。表单启动的页面是一个PHP页面,用于修改数据库中的记录。我认为,一旦请求被发送,即使启动窗口被关闭,PHP页面也会执行。显然不是。表有时更新,有时不更新。似乎如果SQL操作不够快,页面将被关闭,进程将被终止。
代码如下:
<form id="xlationform" action="updatexlation.php" method="post" onsubmit="return closeForm(this);">
Source: <br>
<textarea disabled name="sterm" rows=10 cols=50><?php echo $source ?></textarea><br><br>
Translation: <br>
<textarea name="xlt" rows=10 cols=50><?php echo $xlation ?></textarea><br><br>
<input type="hidden" name="id" value="<?php echo $termid ?>">
<input type="submit" value="Update">
</form>
<script>
function closeForm(f) {
f.submit();
window.close();
}
</script>
解决这个问题的最好方法是什么?我希望窗口被关闭,但DB操作需要先完成,如果可能的话,我不想再次查询DB。谢谢你的帮助。 在updatexation .php中这样做:
$e = mysqli_query(...) if ($e) { echo "<script>window.close();</script>"; }
但是正如上面提到的,避免使用弹出窗口
响应页应该只有一个窗口。关闭onload事件
相关文章:
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 在jQuery中的IFrame中提交表单后刷新父窗口
- 使用Javascript在弹出窗口中提交表单
- 如何在提交后关闭颜色框窗口,并刷新父页面上的图像
- 根据计时器自动提交提示()弹出窗口
- 提交事件将打开新窗口
- 选项卡在新窗口上提交表单,原因
- 提交表单的可能性(左-/中-/在新选项卡或窗口中打开-)单击html链接
- Javascript在新窗口中重新提交具有特定维度的表单
- 提交表单时在弹出窗口中打开响应
- 如何在提交事件的底部设置窗口位置
- 提交表单后,模式窗口未关闭
- 为什么这个JS确认窗口没有在表单提交时启动
- 通过防止窗口事件问题防止双重提交
- 如何在新窗口中提交表单,然后重定向父页面
- 在提交之前将值从多个iframe传递到父窗口
- 提交在弹出窗口中创建的表单
- 剑道窗口 - 提交时不要关闭窗口
- 从弹出窗口提交表单到新选项卡,然后关闭弹出窗口,防止表单提交
- 谷歌地图API信息窗口-我可以从每个窗口提交表格