0

やあみんな私は人々が私に連絡できる連絡先フォームを作ろうとしています.

私が欲しいのは、人々が入力できるものであり、「送信」をクリックすると、「メールが送信されました」などのメッセージが表示されるため、PHP サイトにリダイレクトされません。

残念ながら、それは私にとってはうまくいきません。「送信」をクリックすると、スクリプトが表示されます。したがって、AJAX コードが正しいかどうかはわかりません。誰でも私を助けることができますか?

$(document).ready(function()    {
        $("#kontakt").submit(function() {
                if($("von").val() == "" || $("mail").val() == "" || $("nachricht").val() ==""){
                    $("#response").html("bitte fülle alle felder aus!");
                    } else  {
                        $("#response").("Lade...");
                        $.ajax({
                            type:"POST",
                            url:"senden.php",
                            data:"von=" + $("von").val() + "&mail=" + $("mail").val() + ="&nachricht=" + $("nachricht").val(),
                            success: function (msg)
                            {
                            $("#response").html(msg);
                            }
                        );
                    });
                }
            return false;
            });

        });

<form method="post" action="senden.php" id="kontakt">
            <h3 class="title">Nur nicht sch&uuml;chtern !</h3>
            <input type="text" name="von" placeholder="Name" id="von">
            <input type="text" name="mail" placeholder="E-mail" id="mail">
            <textarea name="message" placeholder="Nachricht" id="nachricht"></textarea>
            <input id="submit" type="submit" value="senden"></submit>
            </form>
            <div id="response"></div>

jsFiddle http://jsfiddle.net/PqKFb/にも載せました

4

2 に答える 2

1

ワーキングデモ

ajax を使用しているため、ページを更新せずに実行します

ここに編集されたコードがあります

HTML

<form method="post" id="kontakt">
     <h3 class="title">Nur nicht sch&uuml;chtern !</h3>

    <input type="text" name="von" placeholder="Name" id="von">
    <input type="text" name="mail" placeholder="E-mail" id="mail">
    <textarea name="message" placeholder="Nachricht" id="nachricht"></textarea>
    <input id="submit" type="button" value="senden">
    </submit>
</form>
<div id="response"></div>

あなたのコードの間違いを修正し、それを使用する方が良いでしょう$('#kontakt').serialize()、それは自動的にデータを取ります

コード

    $(document).ready(function () {
    $("#submit").click(function () {
        if ($("#von").val() == "" || $("#mail").val() == "" || $("#nachricht").val() == "") {
            $("#response").html("bitte fülle alle felder aus!");
        } else {
            $("#response").html("Lade...");
            $.ajax({
                type: "POST",
                data: $('#kontakt').serialize(),
                url: "senden.php",
                success: function (msg) {
                    alert(msg);
                    $("#response").html(msg);
                }

            });
        }

    });

});

senden.php

<?php

$data=$_POST['serialize'];
$von=$data['von'];  //access data like this

?>

これが役に立てば幸いです、ありがとう

于 2013-09-10T15:08:07.287 に答える
0

JavaScript にいくつかのエラーがあるようです。私はこれらを修正し、動作しているようです。

http://jsfiddle.net/PqKFb/8/

    $(document).ready(function () {
        $("#kontakt").submit(function () {
            if ($("von").val() == "" || $("mail").val() == "" || $("nachricht").val() == "") {
                $("#response").html("bitte fülle alle felder aus!");
            } else {

                $.ajax({
                    type: "POST",
                    url: "senden.php",
                    data: "von=" + $("von").val() + "&mail=" + $("mail").val() + "&nachricht=" + $("nachricht").val(),
                    success: function (msg) {
                        $("#response").html(msg);
                    }
                });
            }

            return false;
        });

    });

送信イベントで false を返すと、アクション ページを指定したとしても、実際にはフォームを送信するべきではありません。

于 2013-09-10T15:26:19.017 に答える