2011-09-09 115 views
0

我有一個動態生成HTML表單的AJAX調用。這個表單包含一些元素,包括輸入,選擇,文本區,複選框等等。如何將動態生成的表單提交給AJAX?

我需要編寫一些javascript(jQuery可用)來獲取這個表單中的所有字段並將它們提交給AJAX腳本。我不知道有多少或哪些領域(只有一個基本的想法),因爲這一切都取決於用戶的工作。

任何想法如何做到這一點?比方說,我的表單名稱是 '給ajaxForm'

回答

4

正如大家所說,使用jQuery serialize。另一個注意事項是通過jQuery直播方法覆蓋您的表單提交(如果需要):

 
    //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 
      } 
     }); 
    }); 

2
var string_ready_to_be_posted = $("#formId").serialize(); 

http://api.jquery.com/serialize/

+0

我upvoted,但@大衛,請注意ID的用法!使用「名稱」和「ID」有區別:) – ChrisH

+0

@網站正確。如果您覺得合適,請隨時將其添加到答案中 – genesis

+0

@Genesis,將答案添加爲插件! – ChrisH

0

您可以使用jQuery的.serialize()

var data = $('#ajaxform').serialize(); 
var action = $('#ajaxform').attr('action'); 
$.post(action, data, function(data) { 
... 
}); 
0

var string_ready_to_be_posted = $('form[name="ajaxform"]').serialize(); 作爲插件的使用名稱選擇,而不是ID