【发布时间】:2021-02-25 17:14:38
【问题描述】:
我有一个简单的在线表单,它在提交时调用 PHP 脚本。
<form name="newform" id="regForm" action="../includes/submit.inc.php" method="post">
单击提交按钮时,浏览器中的站点 URL 变为 http://example.com/includes/submit.inc.php,页面为空白。
我想在提交表单后显示一条感谢消息,并且我希望 URL 保持为http://example.com
我尝试使用 JS 隐藏我网站的主容器并启用带有感谢消息的 DIV。
function submit() {
document.getElementById("main").style.display = "none";
document.getElementById("success").style.display = "inline";
}
document.getElementById('regForm').onsubmit = function () {
var terms = document.getElementById('consentBox');
if (!terms.checked) {
showWarnings(warnings);
return false;
}
submit();
return true;
};
这种作品我可以在一瞬间看到感谢消息,但随后浏览器转到http://example.com/includes/submit.inc.php,页面为空白。我真的想避免重定向到另一个 .php 文件。我知道我可以这样做:
header( "location: ../success.php", true, 301 );
但更喜欢在同一页面上显示消息。我怎样才能做到这一点?
提前致谢。
【问题讨论】:
-
1) 您可以将所有逻辑放在同一个文件中,在这种情况下,您将提交到同一个页面并在提交后显示消息。 2)您可以使用AJAX提交表单。
-
@El_Vanja 1) 我想要一些分离 2) 我会研究 AJAX
-
@Teemu 谢谢。会看看
-
实际上你可以将提交逻辑写在一个单独的文件中,如果需要的话,可以用
require()包含它。这些解决方案之间的真正区别在于您处理提交的方式(同步与否)。
标签: javascript php