2017-06-29 16 views
0

私は多くの入力フィールドを持つPHPベースのWebページを持っています。入力の一部は、論理的に、関連する「オブジェクト」の配列として表現できます。具体的には、私はそのようなオブジェクトアレイを3つ持っています.1つは「受益者」、1つは「子供」、もう1つは「ビジョン」です。次のように入力フィールドの基本的な形式である:PHP - 配列インデックス付き入力フィールドの特定の値のみが掲示されていますか?

<input name='object[index][property]' /> 

例えば

<input type='text' data-confirm='beneficiary0CityDisplay' name='beneficiary[0][city]' class='required' /> 

データがIオブジェクトいくつかの特性を有するそれぞれの配列を受け取ることを期待しています、転記されると、例えば都市、州などの特性を有する4つの「受益者」の配列である。実際には、上記の3つのオブジェクトグループのうちの2つで期待どおりに動作します。ただし、「子」配列のすべてのオブジェクトには2つのプロパティしかありません。次のように説明するために、私の受益配列は次のとおりです。

enter image description here

これはどのようにすべきです。それぞれの "ビジョン"オブジェクトは8つのプロパティを持っています(はい、現在は空ですが、それは期待されています)。受益者データについても同様です。しかし、子データの2つのプロパティのみが掲載されている:

enter image description here

私はこれが理由として困惑しています。すべての子入力フィールドが同じ構文/命名規則を共有しているように見えるだけでなく、受益者フィールドと視覚入力フィールドも同じであるように見えるからです。

たとえば、この作品:

<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> 

それはおそらく単純なものですが、私は少し困惑しています現時点では;任意のアドバイスをいただければ幸いです。あなたは自分の名前のプロパティと一致しているされていません

答えて

1

child[1][state]

彼らは$ _POSTで配列として利用できるように、フィールドを投稿するための正しい構文対 child[1]citychild[1]cityがあるのに対しのでchild[1][state]は正しいキーを包む角括弧でありますない。

チェックボックスをオンにしておくと、そのチェックボックスがオンになっていることだけが通知されます。

関連する問題