0

ここでのjqueryの初心者:送信ボタンをクリックすると、何かがエコーされると思いますが、エコーしませんでした。コードのどこが悪いのかわかりません。助けてください

これが私のjsです

    <script src="http://code.jquery.com/jquery-1.8.1.js"></script>
        <script>
            function add_contact(){
            $.post( "add.php", { 
                "name": $("#txtName").val(),
                "contact": $("#txtContact").val(),
                "email": $("txtEmail").val()
                }, 
                function(msg){
                    $("#message").html(msg);
            });
            return false;
            }
        </script>

これが私のhtmlです

    <label for="txtName">Name</label>
                    <input id="txtName" type="text">
                <label for="txtContact">Contact Number</label>
                    <input id="txtContact" type="text">
                <label for="txtEmail">E-mail</label>
                    <input id="txtEmail" type="text">
                <label id="message"></label>
                    <input type="submit" value="Save" onclick="return add_contact()">

これが私のadd.phpです

        <?php
    if(isset($_POST['name'])&&isset($_POST['contact'])&&isset($_POST['email'])){
        echo 'Good';
    }
    ?>
4

4 に答える 4

1

#記号がありません!

"email": $("txtEmail").val()

に変更します

"email": $("#txtEmail").val()
于 2012-09-09T19:02:21.950 に答える
0

試す

onclick="add_contact();"

それ以外の

onclick="return add_contact()"

[編集:]

私は状況の少しのjsfiddleを作成し、コードを少し変更しました。http://jsfiddle.net/Pbf2T/16/をチェックしてください

これがJSです

$(function(){
    var add_contact = function() {
        $.ajax({
            url: "add.php",
            data: {
                "name": $("#txtName").val(),
                "contact": $("#txtContact").val(),
                "email": $("#txtEmail").val()           
            },
            success: function(data) {
                alert("success");
                $("#message").html(data);
            },
            error: function(x,t,error) {
                alert("error: " + error);
                console.log(error);                
            }            
        })
    }


    $('input[type="submit"]').click(function(e){
        e.preventDefault();
        add_contact();
    })
})

これを試してみる場合は、表示されたエラーで返信してください。

[EDIT2:]わかりました、上記を試して、報告してください。サクセスハンドラーで、返されたデータを入力しました。</ p>

于 2012-09-09T14:34:38.983 に答える
0

郵便で送信するデータを引用符で囲むことはできません。つまり、の代わりに"name": $("#txtName").val()、である必要がありますname: $("#txtName").val()

于 2012-09-09T14:44:31.013 に答える
0

送信する代わりにtype="button"で試してください

<input type="submit" value="Save" onclick="return add_contact()">

送信にajaxを使用する場合。

于 2012-09-09T14:44:40.417 に答える