【发布时间】:2019-05-15 12:46:38
【问题描述】:
我用$('#myForm').serializeArray(); 序列化了我的表单。我得到了所有的输入,但我的表单很复杂,我需要对相同的名称进行分组。
在我的 ajaxController 中:
$data = json_decode($request->getParameter('data'));
print_r($data);
这是输出的结果:
array (size=8)
0 =>
object(stdClass)[192]
public 'name' => string 'evaluation_candidature[id_evaluateur_candidature]' (length=49)
public 'value' => string '2899' (length=4)
1 =>
object(stdClass)[196]
public 'name' => string 'evaluation_candidature[_csrf_token]' (length=35)
public 'value' => string '51c7f3442410a04e926c7a7abd1082d9' (length=32)
2 =>
object(stdClass)[197]
public 'name' => string 'evaluation_candidature[note_globale]' (length=36)
public 'value' => string 'A+' (length=2)
3 =>
object(stdClass)[198]
public 'name' => string 'evaluation_candidature[appreciation]' (length=36)
public 'value' => string 'je teste l'évaluation
TB!' (length=27)
4 =>
object(stdClass)[199]
public 'name' => string 'evaluation_candidature[Apport pour le laboratoire_1][note]' (length=58)
public 'value' => string '1' (length=1)
5 =>
object(stdClass)[200]
public 'name' => string 'evaluation_candidature[Apport pour le laboratoire_1][id_evaluateur_candidature]' (length=79)
public 'value' => string '2899' (length=4)
6 =>
object(stdClass)[201]
public 'name' => string 'evaluation_candidature[Apport pour le laboratoire_1][evaluation_critere_id]' (length=75)
public 'value' => string '91' (length=2)
7 =>
object(stdClass)[202]
public 'name' => string 'evaluation_candidature[Apport pour le laboratoire_1][remarque]' (length=62)
public 'value' => string '' (length=0)
我需要对所有evaluation_candidature[Apport pour le laboratoire_1] 进行分组,还需要对evaluation_candidature 进行分组。
问题是我事先不知道这些名字。名称可能不同,因为它取决于表单集合。我希望有人可以帮助我。
更新我尝试在 javascript 中分组:
var datas = [],
serialized = $('#myForm').serializeArray(),
i;
for (i=0; i<serialized.length; i+=2) {
var tmpObj = {};
tmpObj[ serialized[i].name ] = serialized[i].value;
tmpObj[ serialized[i+1].name ] = serialized[i+1].value;
datas.push(tmpObj);
}
console.log(datas);
这里是输出:
array (size=6)
0 =>
object(stdClass)[192]
public 'evaluation_candidature[id_evaluateur_candidature]' => string '2899' (length=4)
public 'evaluation_candidature[_csrf_token]' => string '51c7f3442410a04e926c7a7abd1082d9' (length=32)
1 =>
object(stdClass)[196]
public 'evaluation_candidature[note_globale]' => string 'A+' (length=2)
public 'evaluation_candidature[appreciation]' => string 'je teste l'évaluation
TB!' (length=27)
2 =>
object(stdClass)[197]
public 'evaluation_candidature[Apport pour le laboratoire_1][note]' => string '1' (length=1)
public 'evaluation_candidature[Apport pour le laboratoire_1][id_evaluateur_candidature]' => string '2899' (length=4)
3 =>
object(stdClass)[198]
public 'evaluation_candidature[Apport pour le laboratoire_1][evaluation_critere_id]' => string '91' (length=2)
public 'evaluation_candidature[Apport pour le laboratoire_1][remarque]' => string '' (length=0)
如你所见,我仍然有重复。
【问题讨论】:
-
我认为这意味着您必须在 javascript 中进行分组,因为我假设您会知道页面的用途以及名称将是什么
-
感谢您的回复我更新了帖子
标签: javascript php jquery forms