質問

私は利用しよう ajaxForm 私のon-the-flyで作成されます。実際、自分を演出しますリンクのフライ'をクリックするリンク、イベントは終了いたしました。、 ajaxForm (再度、サンフランシスコとファッションjQuery!), また、 .live() 機能 ajaxForm().これは私の 間違った コード:

$('form').live('submit', function() {
    $(this).ajaxForm({dataType: 'html', success: function(data) {
        alert(data);
    }});
    return false; // For preventing page refresh!
});

私の形のクリックした時に、提出ボタンを押すと、このページを更新.

が解決するのか

役に立ちましたか?

解決

他の人が言ったように、あなた return false 動作するはずです。

だから、何か他のものが間違っています。 jQueryが適切にロードされていることを確認し、サブミット上のハンドラーを確認してください 実際に実行されます デバッグコードを配置します。

また、Debuggingを実行できるように、FireBugがインストールされ、有効になっている(またはブラウザに相当)ことを確認してください。

他のヒント

event.stoppropagation()を使用してみてください。これはjQuery関数です。

そのためには、イベントオブジェクトをヘンダーにパラメーターとして使用する必要があります。

$('form').live('submit', function(event){

その代わりにこの行を使用します return false; :

event.stopPropagation();

return false べき作品ですが、ベストプラクティスをまい event.preventDefault() または event.stopPropagation() きています。この場合で event.preventDefault() いいデフォルトのアクションを提出しました。もいたように return false; すべての場んの疑いがすることで知られているかのような誤差のプラグインだけます。いただいている録再用 プラグインを確認のオプションは正確です。に戻していき dataType: 'html' とができ 'xml', 'script', or 'json' 記の書類を...といっても席をご利用になる皆様の引き出しおよび設定ができます

電話する必要があるかもしれません preventDefault 「falseを返す」の代わりに。そのユースケースの擬似コード jQuery liveAjaxと組み合わせたフォームを以下に示します。

    //Override form submit
    $("form").live("submit", function (event) {
        event.preventDefault();
        var form = $(this);
        $.ajax({
            url: form.attr('action'), // Get the action URL to send AJAX to
            type: "POST",
            data: form.serialize(), // get all form variables
            success: function(result){
                // ... do your AJAX post result
            }
        });
    });

また、ajaxformを使用して(ajaxformを使用していないため)使用する必要があるかどうかはわかりません jQuery.live. 。ドキュメントから推測すると、まったく必要ないかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top