簡體   English   中英

聯系表格:提交后用戶未返回表格

[英]Contact Form: user not returned to the form after Submit

當用戶單擊聯系表單上的“提交”按鈕時,成功或錯誤消息不會顯示在聯系表單的底部; 相反,該消息以純格式顯示在新的空白頁上,然后終止。 用戶不會返回到聯系表單。 我有聯系表的以下三個文件: contactus.html, style.cssemailform.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM