2010-01-05 28 views
0

我已經在我的頁面和標籤中的一個我已經把一個窗體jQuery UI標籤插件。例如,標籤調用一個頁面form.php,它具有html的表單標籤。現在form.php使用ajax和jquery來提交表單。這聽起來可行嗎?在jquery的UI選項卡我們的表單和使用AJAX提交

$(document).ready(function(){ 

    $("form#formdata").submit(function() { 

      var str = $("#formdata").serialize(); 
      $.ajax({ 
      type: "POST", 
      url: "submit.php", 
      data: $("#formdata").serialize(), 
      success: function(msg){ 
        alert(msg); 
        } 
    }); 

return false; });

}); 

所以上面的代碼來到我的form.php的

的形式被提交,但不通過AJAX,和我引導到submit.php 我想反映的結果在我的UI選項卡本身。

請suggest..thanks

編輯:我把preventDefault()方法,並返回假,但它並沒有幫助..

+0

你似乎沒有使用您的變量「STR」 – Cheekysoft 2010-01-05 13:38:33

+0

都返回false和preventDefault()都可以工作,但只有在無錯誤頁面中正確使用。記住JavaScript在第一個錯誤發生時立即停止運行。 – Cheekysoft 2010-01-05 14:06:39

回答

0

最後我得到它的工作。

這就是我所做的。

在我的UI選項卡代碼

<div id="tabs"> 
      <ul> 
       <li><a href="link.html">Link1</a></li> 
       <li><a href="form.html">Data</a></li> 
      </ul> 
</div> 

的form.html包含的形式的詳情,並從那裏我使用AJAX。

SO糾正它,我所用的同一頁上表說明一個div下這樣

<div id="tabs"> 
       <ul> 
        <li><a href="link.html">Link1</a></li> 
        <li><a href="#form">Data</a></li> 
       </ul> 

<div id = "form"> 
//form details here 
</div> 

    </div> 

而且使用此頁面上的AJAX jQuery代碼。

感謝所有誰回答我的問題,並特別感謝@cheekysoft

希望這是以方便和有用的..

1

return false形式Ajax調用後提交功能。

+0

我曾嘗試把返回假,但它沒有幫助..感謝很多快速回復..讚賞.. – noobcode 2010-01-05 13:41:40

1

event.preventDefault()是處理這個

$(document).ready(function() { 
    $('form#formdata').submit(function(event) { 
    event.preventDefault(); 
    var str = $('#formdata').serialize(); 
    $.ajax({ 
     type: 'POST', 
     url: 'submit.php', 
     data: $('#editmachine').serialize(), 
     success: function(msg) { alert(msg); } 
    }); 
    }); 
}); 
+0

謝謝你會嘗試這個,看看它是否可行 – noobcode 2010-01-05 13:41:03

+0

HEY CHEEKYSOGT,我試過你的建議,但它沒有工作..我在$(文檔).ready(函數())後立即發出警報,但它沒有執行..我怎麼知道我的jQuery是否正在執行或沒有..謝謝 – noobcode 2010-01-05 13:47:28

+0

@cheekysoft,抱歉的錯字錯誤.. – noobcode 2010-01-05 13:48:00

0

你必須防止回假成行爲提交事件的首選方式:

$(document).ready(function(){ 

    $("form#formdata").submit(function() { 

      var str = $("#formdata").serialize(); 
      $.ajax({ 
      type: "POST", 
      url: "submit.php", 
      data: $("#editmachine").serialize(), 
      success: function(msg){ 
        alert(msg); 
        } 
    }); 
return false; 
    }); 

});