-2

何らかの理由で、このコードは機能します:

$(document).ready(function () {
    var name = document.getElementById('Name').value;
    var email = document.getElementById('Email').value;
    var type = document.getElementById('Type').value;
    var message = document.getElementById('Message').value;
    $.post("send.php", {
        Name: "Matt",
        Email: "xxxxxx@hotmail.com",
        Type: "1",
        Message: "GO"
    },

    function (e) {
        alert(e);
    });
});

ただし、このコードは次のことを行いません。

$(document).ready(function () {
    $('#btn').click(function () {
        var name = document.getElementById('Name').value;
        var email = document.getElementById('Email').value;
        var type = document.getElementById('Type').value;
        var message = document.getElementById('Message').value;
        $.post("send.php", {
            Name: "Matt",
            Email: "xxxxxx.wsu@hotmail.com",
            Type: "1",
            Message: "GO"
        },

        function (e) {
            alert(e);
        });
    });
});

また、私は自分#btnのIDを確認しましたが、正しいのでそうではありません。最初のコードは成功を返し、電子メールが送信されます。2 番目のものは何もせず、サーバーからの応答が Chrome 開発者ツールのネットワーク ビューアーに表示されないため、うまくデバッグできません。

html フォームは次のとおりです。

<form id="form" action="" method="POST">
                <label for="Name">Name: </label>
                <input type="text" name="Name" id="Name">

                <label for="Email">Email: </label>
                <input type="text" name="Email" id="Email">

                <label for="Type">Type: </label>
                <select name="Type" id="Type">
                    <option value="0">General</option>
                    <option value="1">I need a consultation</option>
                    <option value="2">I need a website</option>
                </select>

                <label for="Message">Message: </label>
                <textarea rows="10" cols="50" name="Message" id="Message"></textarea>
                <br />
                <button id="btn" class="submitBtn">Send</button>
    </form>
4

1 に答える 1

2

ボタンとしてを指定typeします。<button>

<button type="button" id="btn" class="submitBtn" >Send</button>

作業例: http://jsfiddle.net/kXeY8/

一部のブラウザは、属性が指定されていないフォームのデフォルトtypesubmitと解釈し、代わりにフォームを送信して、イベントの ajax リクエストが終了しないようにします。<button>typeclick

于 2012-07-11T04:29:53.473 に答える