2012-03-19 60 views
0

我想要找到簡單,優雅的方式來獲取所有相關的名稱,從HTML表單值對,併爲ajax調用準備這些數據,數據將被保存。我想出了這一點:簡單的函數來收集表單數據的AJAX提交

$('#save').click(function(){ 
    var querystring = ""; 
    $('form#form_id :input').each(function(){ 
     querystring += $(this).attr('name') + "=" + $(this).val() + "&"; 
    }); 
    querystring = querystring.substr(0,querystring.length-1); 
    alert(querystring); 
}); 

我會再使用這個querystring進行更新AJAX腳本。有幾個問題是:

  1. 所有的單選按鈕項出現在查詢字符串,而不僅僅是選擇
  2. 所有複選框顯示了值的那些=「上」

有沒有人有一個很好的簡單方法來做到這一點?

感謝

+0

使用'。是( ':勾選')''不.VAL()' – 2012-03-19 18:13:10

回答

8

的jQuery已經爲它的方法!試試這個:

var myData = $("form#form_id").serialize(); 
alert(myData); 

加上它包括textareas和選擇框。

更多信息在:http://api.jquery.com/serialize/

+0

這就是它!謝謝! – 2012-03-19 18:44:22

0
$('#save').click(function(){ 
    var querystring = ""; 
    $('form#form_id :input').each(function(){ 
     querystring += $(this).attr('name') + "=" + $(this).is(":checked") + "&"; 
    }); 
    querystring = querystring.substr(0,querystring.length-1); 
    alert(querystring); 
}); 
+0

我假設你所有的'input'元素都是單選按鈕或複選框,你會必須過濾,如果這不是真的 – 2012-03-19 18:15:36