form 提交数组的一些trick


在给服务器传值时form
利用 $.post(
"/member/member/book/" + event_id,
{
tickets: tickets,
csrf_ppw_token : csrf_ppw_token,
event_id : event_id,
},
可以将tickets传值一个对象数组。
浏览器caputure是
tickets[0][fullname]:a
tickets[0][telephone]:
tickets[0][email]:
tickets[0][company]:
tickets[0][role]:
tickets[0][cat_id]:1
tickets[1][fullname]:b
tickets[1][telephone]:
tickets[1][email]:
tickets[1][company]:
tickets[1][role]:
tickets[1][cat_id]:1
csrf_ppw_token:575b56d0fa9aba282a0f0e4e8dc14c86
event_id:1
在服务器端也能利用 _post["tickets"]拿到这个数据,但不是一个对象的数组,是一个二维数组了。

而在使用jquery form时,在对formdata手动处理,
var temp = new Object();
temp.name = "tickets";
temp.value = tickets;。

这个时间传的object都在浏览器caputure到的是
tickets:[object Object],[object Object]


在这种情况发生时,要换成以下方法赋值:
var ticket = new Object();
ticket.name = "tickets[" + i + "][fullname]";
ticket.value = $(this).find($("[name='fullname']")).val();
formData.push(ticket);


formdata为一个对象数组。

(http://sheng.iteye.com/blog/1763763)

点击提交后用脚本处理时,会生成一个对象,利用如下方式取值new_post.posttext.value

<form id="new_post" ....

  <textarea name="posttext" id="posttext" tabindex="1" rows="3" cols="60" class=""></textarea>

posted @ 2014-08-16 11:20  hurner  Views(1487)  Comments(0Edit  收藏  举报