我有一個基於PHP的網頁,有很多輸入字段。一些輸入在邏輯上可以表示爲相關「對象」的數組;具體來說,我有三個這樣的對象數組 - 一個用於「受益者」,一個用於「兒童」,另一個用於「視覺」。輸入字段的基本格式如下:PHP - 只有數組索引輸入字段的某些值被張貼?
<input name='object[index][property]' />
例如
<input type='text' data-confirm='beneficiary0CityDisplay' name='beneficiary[0][city]' class='required' />
當數據被髮布,我期望接收對象的陣列,每個陣列具有多個屬性;例如,包含具有城市,州和類似特性的四個「受益者」的陣列。對於上述三個對象組中的兩個,這實際上按預期工作;然而,「子」數組的所有對象只有兩個屬性。爲了說明這一點,我的受益人排列如下:
這是應該的;每個「視覺」對象有八個屬性(是的,目前它們是空的,但是這是預期的)。受益人數據也是如此。然而,只有兩個孩子的數據性質正在發佈:
我困惑,這是爲什麼。不僅因爲所有的子輸入字段似乎都具有相同的語法/命名約定,而且受益人和視覺輸入字段也是如此。
例如,這個工程:
<td><input type='text' data-confirm='vision0FirstDisplay' name='vision[0][firstName]'
placeholder='First' /> <input type='text'
data-confirm='vision0LastDisplay' name='vision[0][lastName]' placeholder='Last' /></td>
<td><input data-confirm='vision0SSNDisplay' maxlength=9 type='text' name='vision[0][ssn]' class='ssn' /></td>
<td><select data-confirm='vision0GenderDisplay' name='vision[0][gender]'>
<option value=''>...</option>
<option value='M'>Male</option>
<option value='F'>Female</option>
</select></td>
<td><select data-confirm='vision0MonthDisplay' name='vision[0][month]'>
<option value=''>Month</option>
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select> <input type='text' data-confirm='vision0DayDisplay' name='vision[0][day]' class='day'
placeholder='Day' /> <input type='text' data-confirm='vision0YearDisplay' name='vision[0][year]'
class='year' placeholder='Yr.' /></td>
<td><select class='visionRelationship' data-confirm='vision0RelationshipDisplay' name='vision[0][relationship]'>
<option
value=''>Select</option>
<option value='Spouse'>Spouse
</option>
<option value='Dependent'>Dependent </option>
</select>
</td>
</tr>
<tr>
<td><input type='text' data-confirm='vision1FirstDisplay' name='vision[1][firstName]'
placeholder='First' /> <input type='text'
data-confirm='vision1LastDisplay' name='vision[1][lastName]' placeholder='Last' /></td>
<td><input data-confirm='vision1SSNDisplay' maxlength=9 type='text' name='vision[1][ssn]' class='ssn' /></td>
<td><select data-confirm='vision1GenderDisplay' name='vision[1][gender]'>
<option value=''>...</option>
<option value='M'>Male</option>
<option value='F'>Female</option>
</select></td>
<td><select data-confirm='vision1MonthDisplay' name='vision[1][month]'>
<option value=''>Month</option>
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select> <input type='text' data-confirm='vision1DayDisplay' name='vision[1][day]' class='day'
placeholder='Day' /> <input type='text' data-confirm='vision1YearDisplay' name='vision[1][year]'
class='year' placeholder='Yr.' /></td>
本(除國家和zip字段),不:
<td><input placeholder="First" type='text' data-confirm='child0FirstDisplay' name='child[0][firstName]' />
<input placeholder="Last" type='text' data-confirm='child0LastDisplay' name='child[0][lastName]' /></td>
<td><input type='text' class='ssn' maxlength=9 data-confirm='child0SSNDisplay' name='child[0][ssn]' /></td>
<td><select name="child[0][month]" data-confirm='child0MonthDisplay'>
<option value=''>Month</option>
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select> <input placeholder='Day' type='text' data-confirm='child0DayDisplay' name='child[0][day]'
class='day' /> <input placeholder='Yr.' type='text'
name='child[0][year]' data-confirm='child0YearDisplay' class='year' /></td>
<td><select data-confirm='child0GenderDisplay' name='child[0][gender]'>
<option value=''>...</option>
<option value='M'>Male</option>
<option value='F'>Female</option>
</select></td>
<td><input type='checkbox' data-confirm='child0HandicapDisplay' name='child[0][isHandicap]' /> Handicap <input
type='checkbox' data-confirm='child0StudentDisplay' name='child[0][isStudent]' /> Student <input
type='checkbox' data-confirm='child0FosterDisplay' name='child[0][isFoster]' /> Foster <input
type='checkbox' data-confirm='child0StepDisplay' name='child[0][isStep]' /> Step-Child</td>
<td>Check if your <em>child</em> has a different address than yours.
<input type='checkbox' class='childAddressCheckbox'
name='child[0]diffAddress' />
<div class='childAddressContainer'>
<input type='text' data-confirm='child0StreetDisplay' name='child[0]address'
placeholder='Street Address' /> <input type='text'
name='child[0]city' data-confirm='child0CityDisplay' placeholder='City' /> <select
id='child[0][state]' data-confirm='child0StateDisplay' name="child[0][state]">
/// STATES HERE ///
</select> <input type='text' name='child[0][zip]' class='zip' />
</div>
</td>
</tr>
<tr>
<td><input placeholder="First" type='text' data-confirm='child1FirstDisplay' name='child[1][firstName]' />
<input placeholder="Last" type='text' data-confirm='child1LastDisplay' name='child[1][lastName]' /></td>
<td><input type='text' maxlength=9 class='ssn' data-confirm='child1SSNDisplay' name='child[1][ssn]' /></td>
<td><select name="child[1][month]" data-confirm='child1MonthDisplay' >
<option value=''>Month</option>
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select> <input placeholder='Day' type='text' data-confirm='child1DayDisplay' name='child[1][day]'
class='day' /> <input placeholder='Yr.' type='text'
name='child[1][year]' data-confirm='child1YearDisplay' class='year' /></td>
<td><select data-confirm='child1GenderDisplay' name='child[1][gender]'>
<option value=''>...</option>
<option value='M'>Male</option>
<option value='F'>Female</option>
</select></td>
<td><input type='checkbox' data-confirm='child1HandicapDisplay' name='child[1][isHandicap]' /> Handicap <input
type='checkbox' data-confirm='child1StudentDisplay' name='child[1][isStudent]' /> Student <input
type='checkbox' data-confirm='child1FosterDisplay' name='child[1][isFoster]' /> Foster <input
type='checkbox' data-confirm='child1StepDisplay' name='child[1][isStep]' /> Step-Child</td>
<td>Check if your <em>child</em> has a different address than yours.
<input type='checkbox' class='childAddressCheckbox'
name='child[1]diffAddress' />
<div class='childAddressContainer'>
<input type='text' data-confirm='child1StreetDisplay' name='child[1]address'
placeholder='Street Address' /> <input type='text'
name='child[1]city' data-confirm='child1CityDisplay' placeholder='City' /> <select
id='child[1][state]' data-confirm='child1StateDisplay' name="child[1][state]">
/// STATES HERE ///
</select> <input type='text' name='child[1][zip]' class='zip' />
</div>
</td>
</tr>
這可能是簡單的東西,但我有點難倒在這一刻;任何意見,將不勝感激。