2012-07-12 112 views
1

我做了一個jQuery窗體(form1),通過ajax帶來另一個窗體(form2)在該頁面。 現在我想通過ajax提交form2數據。從ajax請求jQuery的Ajax表格

但是,無論何時點擊按鈕,它都會提交整個頁面。我的意思是整個頁面重新加載。

$(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代碼。我沒有任何JavaScript代碼在

//

page.php文件 AJAX頁面*有在這個頁面中的窗體(Form)。 *所有jQuery函數都在page.php中

當form1被提交時,它會從page2.php中導入數據//它的效果很好。 ** page2.php給出了form2。

現在,當我提交from2(這也是在Ajax請求之後page.php文件),它不會觸發內部page.php文件

回答

0

而是結合的形式$(document).ready提交,我通常只包括「點擊」事件到窗體的按鈕:

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

的onclick的return false;部分將阻止表單提交。

+0

使用此方法,我如何獲取表單的發佈數據? – Kamini 2012-07-12 16:37:59

+0

謝謝。 $ .ajax與數據序列化:) – Kamini 2012-07-12 17:02:37

0

這是因爲形式是傳統意義上被提交jQuery函數。這是提交事件的默認操作。您需要抑制這樣的:

$("#form2").submit(function(evt) { 
    evt.preventDefault(); //<-- prevent the event's default action 
    //code here... 
+0

沒有。它仍然加載頁面 – Kamini 2012-07-12 16:10:30

+0

那麼這絕對是如何壓制提交事件 - [這裏是證明](http://jsfiddle.net/4wDJj/)。也許你是針對錯誤的選擇,或者沒有完全實現我發佈的代碼。見JS小提琴。 – Utkanos 2012-07-12 16:13:40

+0

我沒有得到警報。我編輯了這個問題。 – Kamini 2012-07-12 16:25:27