我正在使用此HTML和JQuery代码添加输入字段:
https://www.sanwebe.com/2013/03/addremove-input-fields-dynamically-with-jquery
通过一些更改,我的代码类似于此,缩短了:
$(wrapper).append('<?php echo $this->Form->input("ticket.' +index+ '.startdate"); ?>');
其中index
是一个var,当我选择add field
或remove field
按钮时,我正在递增和递减。
问题是我删除的元素不是最后一个元素,例如:
我删除文本1,2或3然后提交它,我自然得到Undefined offset
错误,因为创建的元素的index
var保持不变,服务器获取< / p>
ticket.0.startdate
ticket.2.startdate
ticket.3.startdate
并且不知道ticket.1.startdate
在哪里。
PHP代码:
$festivalticket = $this->Festivaltickets->newEntity();
if ($this->request->is('post')) {
$festivalticket = $this->Festivaltickets->patchEntity($festivalticket, $this->request->data, [
'associated' => [
'Tickets'
]
]);
}
我想知道是否有办法解决这个问题。
谢谢。
答案 0 :(得分:1)
我们为您的表单字段添加数组。 ticket_startdate[]
将动态附加数组元素,如:
$(wrapper).append('<?php echo $this->Form->input("ticket_startdate[]"); ?>');
然后只需循环而不用担心索引:
foreach($_POST['ticket_startdate'] as $key => $start_date) {
echo "index $key is $start_date";
}
我不知道你发布的PHP发生了什么。它看起来像一个框架,因此它可以正确处理数组。