您可能需要隔離每個位置/間隔的活動。一個解決方案是爲每個間隔使用一個索引,這涉及到改變你爲每個間隔創建新的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;
}