Я обрабатываю форму с помощью jQuery ajax.
У меня есть следующий код JQuery:
$.ajax({
url: 'formprocess.php',
type: 'post',
data: $('#myForm input[type=\'text\']'),
dataType: 'json',
success: function(json) { alert('pass'); }
});
И моя форма:
<form id="myForm">
<input type="text" name="parent[47]child[230][26]" value="1" />
<input type="text" name="parent[47]child[230][27]" value="2" />
<input type="text" name="parent[28]child[231][29]" value="3" />
<input type="text" name="parent[28]child[231][31]" value="4" />
</form>
И он отлично работает для постов через ajax.
На стороне PHP это выглядит как:
$_POST
: array =
parent: array =
47: array =
child: array =
230: array =
26: string = "1"
27: string = "2"
28: array =
child: array =
231: array =
29: string = "3"
31: string = "4"
Но я бы хотел разделить его на стороне JavaScript, чтобы он зацикливался и передавал каждому родителю отдельно. Так что в этом случае он будет отправлять обратно дважды:
$_POST
: array =
parent_id = 47
child: array =
230: array =
26: string = "1"
27: string = "2"
И
$_POST
: array =
parent_id = 28
child: array =
231: array =
29: string = "3"
31: string = "4"
Так что я думаю, что мне нужно использовать:
$('#myForm input[type=\'text\']').each(function(i, tbox) {
tboxname = tbox.attr('name');
var myregexp = /parent\[(\d+)\]child\[(\d+)\]\[(\d+)\]/;
var match = myregexp.exec(tboxname);
var parent_id = match[1];
var child = 'child['+match[2]+']['+match[3]+']';
}
Но теперь у меня есть 2 строковых значения, и я потерял свой объект и значение.