2011-06-01 51 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']