1

ajaxを介してそのページに別のフォーム(form2)をもたらすjQueryフォーム(form1)を作成しました。ここで、ajax を使用して form2 データを送信します。

しかし、ボタンをクリックするたびに、ページ全体が送信されます。つまり、ページ全体がリロードされます。

$(document).ready(function() {
        $("#form2").submit(function() {
            $(this).ajaxSubmit({
                    beforeSubmit: function(before) {
                        $('.loading_result').html('Loading...');
                    },
                    success: function(dd) {
                        $('.loading_result').html(dd);
                    }
            }); 
            return false;
        });

    });

親ページのすべての JavaScript コード。ajax ページに JavaScript コードがありません

///

page.php ※このページにはフォーム(form1)があります。* すべての jQuery 関数は page.php 内にあります

form1 が送信されると、page2.php からデータが取り込まれます // うまく機能します。** page2.php は form2 を提供します。

今、from2(これはajaxリクエストの後にpage.phpにもあります)を送信すると、page.php内のjquery関数はトリガーされません

4

2 に答える 2

0

これは、フォームが従来の意味で送信されているためです。これは、submit イベントのデフォルト アクションです。これを抑制する必要があります:

$("#form2").submit(function(evt) {
    evt.preventDefault(); //<-- prevent the event's default action
    //code here...
于 2012-07-12T16:07:08.823 に答える
0

フォーム送信を にバインドする代わりに$(document).ready、通常はフォームのボタンに「onclick」イベントを含めます。

<button type='submit' onclick='MyAjaxFunction();return false;'>Submit</button>

onclickのreturn false;部分により、フォームの送信が妨げられます。

于 2012-07-12T16:32:35.207 に答える