2011-06-01 72 views
2

所以我是新來使用jQuery和這麼多.post的,我想知道的是:發帖陣列.POST

PHP可以讓我發佈多個表單輸入值的數組,像這樣:

<input type="text" name="array[]" />

所以我可以用JQuery post做同樣的事情嗎?如果是這樣,語法是什麼?

我目前使用它一直像這樣:

$.post('search_item.php', { unit: form.unit.value }...

千恩萬謝,

回答

2

是的!

$.post("test.php", { 'choices[]': ["Jon", "Susan"] }); 

回答評論

一個方法是將它們映射

var choices = $('input[name="choices[]"]').map(function() { 
    return this.value; 
}).get(); 
    // then post would look like 
    $.post("test.php", { 'choices[]':choices }); 
+0

如何動態獲取所有值並將它們放置在那裏,我只是有點困惑。 – buymypies 2011-06-01 19:37:30

1

也許最簡單的方法做到這一點是這樣的:

$.post('file.php',$('input[name=array[]]').serialize(),... 
1

下面是一個檢查一個有效的電子郵件的例子,但它給你的基本思想是:http://www.jensbits.com/2009/10/04/jquery-ajax-and-jquery-post-form-submit-examples-with-php/

$(function(){ 
    $("#JqPostForm").submit(function(){ 
     $.post("process_form.php", $("#JqPostForm").serialize(), 
     function(data){ 
      if(data.email_check == 'invalid'){ 

        $("#message_post").html("<div class='errorMessage'>Sorry " + data.name + ", " + data.email + " is NOT a valid e-mail address. Try again.</div>"); 
      } else { 
       $("#message_post").html("<div class='successMessage'>" + data.email + " is a valid e-mail address. Thank you, " + data.name + ".</div>"); 
       } 
     }, "json"); 

     return false; 

    }); 
}); 

第th上面的例子是#JqPostForm。序列化功能將所有表單字段放在PHP $_POST對象中,您可以在process_form.php頁面(或您用於表單處理的任何頁面)上抓取它們,就像表單已提交到該頁面一樣。例如,$_POST['email']