您可能需要隔离每个位置/间隔的活动。一个解决方案是为每个间隔使用一个索引,这涉及到改变你为每个间隔创建新的html元素的方式。
因此生成的代码将是:
<!--Interval 1 with 4 activities-->
<input type="text" name="interval[1][]" />
<input type="text" name="location[1][]" />
<input type="text" name="activity[1][]" />
<input type="text" name="activity[1][]" />
<input type="text" name="activity[1][]" />
<input type="text" name="activity[1][]" />
<!--Interval 2 with 2 activities-->
<input type="text" name="interval[2][]" />
<input type="text" name="location[2][]" />
<input type="text" name="activity[2][]" />
<input type="text" name="activity[2][]" />
但它并不顺利为操纵:
<!--Interval 1 with 4 activities-->
<input type="text" name="interval[1][interval]" value="interval id" /> // optional
<input type="text" name="interval[1][location]" value="location" />
<input type="text" name="interval[1][activity][]" value="activity" />
<input type="text" name="interval[1][activity][]" value="activity" />
<input type="text" name="interval[1][activity][]" value="activity" />
<input type="text" name="interval[1][activity][]" value="activity" />
<!--Interval 2 with 2 activities-->
<input type="text" name="interval[2][interval]" value="interval id" /> // optional
<input type="text" name="interval[2][location]" value="location" />
<input type="text" name="interval[2][activity][]" value="activity" />
<input type="text" name="interval[2][activity][]" value="activity" />
,这将给你一个很好的树(在数组的数组的形式)迭代。
为了做到这一点,您需要一个javascript函数来跟踪当前间隔索引,并使用该索引来排列间隔数组。
服务器端所有你需要做的就是(在POST方法的情况下):
foreach ($_POST['interval'] as $k => $interval) {
echo $interval['interval'];
echo $interval['location'];
foreach ($interval['activity'] as $id => $activity)
echo $activity;
}