1

要約:私は持っています:

1) メインページ (Main.php) 2) 単純な .js スクリプトファイル (dashboard.js) 3) もう 1 つの単純な .php ファイル (form1.php) 4) .js によって送信された情報を処理するファイル、process.phpファイル (process.php)

tumblr と同じように、同じ "nav" エクスペリエンスを再現しようとしています。いくつかのオプションをクリックし、メイン パネルを新しいコードに置き換え、フォームに入力するときにその情報を BD に送信し、結果をメインに表示します。 php

すべてが順調に進んでいますが、最後のステップです。ナビゲーション ボタン (main.php) をクリックし、javascript (dashboard.js + form1.php) を介して新しいフォームを表示し、そのフォームに入力した後、ボタンをクリックし、ページをリロードしない代わりに (jquery->ajax)、 process.php ファイルに送られ、結果が表示されます。

「return false」と「event.preventdefault()」でリロードしないようにしましたが、結果は同じです。

JS コード

        $('form.ajax').on('submit', function() {
    event.preventDefault();
    var that = $(this),
    url = that.attr('action'),
    type = that.attr('method'),
    data = {};

    that.find('name').each(function(index, value) {

        var that = $(this),
        name = that.attr('name'),
        value = that.val();

        data[name] = value;

    });


    $.ajax({
        url: url,
        type: type,
        data: data,
        success: function(html){
                    event.preventDefault();
                    $("ol#list-feed").append(html);
                    document.getElementById('set-width1').value='';
                    document.getElementById('tags').value='';

                }


    });
    event.preventDefault();
    return false;
});
4

4 に答える 4

3

定義していませんevent:

$('form.ajax').on('submit', function(event) {
    event.preventDefault();
    //...
});
于 2013-09-13T13:14:07.590 に答える
0

これはうまくいくはずです

 $('form.ajax').on('submit', function(event) {
于 2013-09-13T13:16:33.437 に答える
0

最初の行を次のように変更する必要があります。

$('form.ajax').on('submit', function(event) {

それ以外の場合、event関数内の変数は未定義です。

于 2013-09-13T13:14:19.410 に答える
0

このようにしてみてください

$('form.ajax').on('submit', function(event) {
    event.preventDefault();
    //do other works here

}

または、あらゆる場所からevent.preventDefault()を削除し、この関数の終了前にreturn falseを使用します。

于 2013-09-13T13:16:17.107 に答える