[英]Contact Form: user not returned to the form after Submit
當用戶單擊聯系表單上的“提交”按鈕時,成功或錯誤消息不會顯示在聯系表單的底部; 相反,該消息以純格式顯示在新的空白頁上,然后終止。 用戶不會返回到聯系表單。 我有聯系表的以下三個文件: contactus.html, style.css
和emailform.php
。
emailform php(此php駐留在主機服務器上)包含if ($_POST['submit']) {
錯誤捕獲代碼。 Contactus.html
包含
<form method="post" action="http://www.xxxxxx.com/emailform.php" name="Form" id="Form">
。
誰能解決這個問題? 提前致謝。
如果在提交表單后您想要將用戶發送回上一頁,則您的emailform.php
文件應包含:
header('Location: ' . $_SERVER['HTTP_REFERER']);
如果要在contactus.html
上顯示錯誤消息,可以在URL中添加一個參數,例如contactus.html?error=1
,您可以在其中捕獲錯誤並將其顯示在同一頁面中。
或者,您的contactus.html
文件可以對emailform.php
進行AJAX請求,並在同一頁面中顯示結果,因此瀏覽器無需重定向到emailform.php
。
如果您已包含jQuery,並希望通過AJAX進行POST,請嘗試從表單中刪除action=...
,讓您的頭包含jQuery,並將其放在體內的任何位置:
<script type="text/javascript">
$("#submit").on("click",function(){
var email = $("#email").val();
var name = $("#name").val();
var message = $("#message").val();
$.ajax({
type: "POST",
url: "/emailform.php",
data: { email : email, name : name, message: message }
}).done(function(msg) {
//update your message div here
$("#message").test(msg);
alert(msg);
});
});
</script>
從您的emailform.php重定向回contactus.html。 如果您希望對表單做出反應,請將contactus設為php文件(如果未將Web服務器配置為使用html文件中的php)。
從emailform.php重定向時,您可以通過url將get參數發送給聯系人。 With header('Location: ' . $_SERVER['HTTP_REFERER'] . '?success=true');
在您的contactus.php中,您可以檢查是否有參數等。
if(isset($_GET['success'])){
if($_GET['success'] === 'true'){
echo 'it worked fine';
else{
echo 'something did not work';
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.