-2

コードがあります:

<form name="step1" action="step2.php" method="POST">
Email: <input type="text" name="email" class="input-medium">
<button class="btn btn-small btn-warning" type="submit">Check</button> 
</form>

そしてそれ:step2.php

<?php
$email = $_POST['email'];
$result = mysql_query("SELECT email,discount FROM buyers WHERE email='$email'");
if (mysql_num_rows($result) <= 0)
{
echo "Are you a new client is't it? <br>";
echo "Your discount is 0%<br>";
}
else{
echo "<br/>Nice to see you again! <br/>";
$getSalary = mysql_fetch_array($result); 
echo "You discount is already: ";
echo $getSalary[discount];
echo " %";
}
?>

では、フォームを送信せずにデータベースでリクエストを取得し、新しいページ (この例では step2.php) にリダイレクトすることは可能ですか? つまり、クエリ結果がすぐに表示されます.. onBlur() メソッドについて考えていますが、JavaScript で同様のリクエストを作成する方法がわかりません。たぶんAJAXで可能ですか?

アドバイスをいただければ幸いです。ありがとう。

4

3 に答える 3

0

これがあなたが達成したいことだと思います

<form name="step1" action="step2.php" method="POST" onsubmit = "return postFormAsynchronous(this)" >
Email: <input type="text" name="email" class="input-medium">
<button class="btn btn-small btn-warning" type="submit">Check</button> 
</form>

次に、JavaScriptにこの関数を入れます

function postFormAsynchronous(frm) {
    frm = $(frm);
    $.ajax({
        type: frm.attr('method'),
        url: frm.attr('action'),
        data: frm.serialize(),
        success: function (data, status, xhr) {

       //your data from server will appear in data then do what ever with it

        }
    });

    return false;
}

これにより、指定されたアクション php スクリプトへの ajax 呼び出しが行われ、データのメールが送信されます

サーバーでは、既存のコードを続行できます

    $email = $_POST['email'];
      ........
      ......

そうそう、HTML ページに Jquery を含めることを忘れないでください。

幸せなコーディング:)

于 2013-07-24T07:13:53.433 に答える