0

jqueryを使用してphpファイルを実行しようとしています。php はデータベースにいくつかの情報を送信します。

php自体は動作します。js コードを削除すると、すべてがデータベースに送信されます。何が起こっているのかは、私のデータベースを見ると明らかです。フォームのコンテンツは収集されていません。いくつかのものはデータベースに入りますが、フォームからの情報ではありません。

これが私のコードです。何が問題なのですか?

// submit without refresh
$(function() {
    $('#form').submit(function(e) {

        // Stop the form actually posting
        e.preventDefault();

        // Send the request
        $.post('submit.php', {}, function(d) {
            console.log(d);
            // Here we handle the response from the script
            // We are just going to alert the result for now
            alert(d);
        });
    });
});

私のフォームにはid="form"js がフォーム情報を収集しないのはなぜですか?

4

4 に答える 4

1

この方法でフォームを投稿することはできません。$.post は、何を送信するかを指定しない限り、フォームの要素についてはわかりません。上記のコードを機能させるには、フォームのデータを $.post に渡す必要があります。次に例を示します。

$.post('submit.php',
    data: { <your form data here> },
    success: function(data){
        console.log(data);
    }
);
于 2013-10-14T06:20:11.383 に答える
0

フィールド値を php スクリプトに渡す必要があります。

$.post('submit.php', {data: $(this).serialize()}, function(d) {
       console.log(d);
       // Here we handle the response from the script
       // We are just going to alert the result for now
       alert(d);
});
于 2013-10-14T06:17:53.403 に答える
0

最初にフォームデータを取得する必要があります。Serialize は、フォーム データを取得するために使用されます。

$(function() {
 $('#form').submit(function(e) {
    var data = $(this).serialize(); // get the form datas
    // Stop the form actually posting
    e.preventDefault();

    // Send the request
    $.post('submit.php', data, function(d) {
        console.log(d);
        // Here we handle the response from the script
        // We are just going to alert the result for now
        alert(d);
    });
});

});

于 2013-10-14T06:19:26.973 に答える