1

特定の情報を要求し、実際に別のphpファイルに送信してフォーム送信をメールで送信する前に、javascriptを使用してフォームを検証する基本的なフォームがありますが、フォームの送信に成功すると、空白のページになり、ありがとうポップアップが表示されます。送信ボタンを押しても新しいページに移動せず、現在のページにポップアップが表示されるように設定するにはどうすればよいですか?

フォームに記入するための私のコードは次のとおりです。

<form action="send_group.php" method="post" onsubmit='return formValidator()'>
//Asks to input information
    <input type="submit" value="Submit" />
</form>

私のPHPコードは次のとおりです。

<?php
$webmaster_email = "email@email.com"; //E-mail the message will be sent to

$info = $_REQUEST['info'] ;
$info1= $_REQUEST['info1'] ;
$info2= $_REQUEST['info2'] ;
$info3= $_REQUEST['info4'] ;

mail( "$webmaster_email", "Information Form Submission",
    "Info: $info
Info1: $info1
Info2: $info2
Info3: $info3" );

echo "<script type='text/javascript'>\n";
echo "alert('Thank you for your booking request. We will get back to you as soon as possible.');\n";
echo "</script>";
?>
4

5 に答える 5

2

You have to use an AJAX request. So you bind an onclick event on your submit button, then you send an AJAX request, and when the AJAX request suceeded you display your response (Bad or not). JQuery is really powerful and easy for AJAX request, look here : http://api.jquery.com/jQuery.ajax/

于 2012-07-31T15:47:36.760 に答える
2

You can either use AJAX to submit the data in the background, or, the easier option put the from and php into the same php file.

于 2012-07-31T15:48:27.787 に答える
1

ブラウザは、php-script から受け取ったものを正確に表示します。

Ajax を使用せずに問題を解決する方法の 1 つは、次のような方法です。リクエストが処理された後に元のページを表示するには、例を追加します。

header("location: your_form_page.php?req=1");

成功した場合、例えば

header("location: your_form_page.php?req=-1");

send_group.php にエラーが発生した場合。GET パラメータ req を使用して、サンキュー ボックスまたはエラー メッセージを表示できます。もちろん、切り替えロジックは your_form_page.php に既に実装されている必要があります。

if ($_GET['req'] == '1') {
    echo "<script type='text/javascript'>\n";
    echo "alert('Thank you for ...');\n";
    echo "</script>";
} else if ($_GET['req'] == '-1') {
    echo "<script type='text/javascript'>\n";
    echo "alert('Error ...');\n";
    echo "</script>";
}
于 2012-07-31T16:07:44.040 に答える
0

locationスクリプトが正常に終了した後、ヘッダーを使用してユーザーをリダイレクトする必要があります

header("location: formPage.php?success=1");

次に、元のフォーム ページで JavaScript を実行できます。

于 2012-07-31T15:47:25.760 に答える
0

xhrRequest (ajax) を使用して検証ページから情報を取得し、結果をユーザーに表示します。

于 2012-07-31T15:47:32.750 に答える