我正在尝试在CakePHP中创建一个动态表单,但似乎无法正常工作。
我能做些什么让它发挥作用;我无法获得data[AppliedCourses][0][institution]
,无法获得data[AppliedCourses][1][institution]
,data[AppliedCourses][2][institution]
等。
<table id="mytable2" style="border: 0px;">
<tbody>
<tr id="InstitutionApplied0">
<td>
<button type="button" title="Click Here to remove Institution Applied" style="display: none;">-</button>
<div class="input text">
<label for="AppliedCourses0Institution">Institution Name</label>
<input name="data[AppliedCourses][0][institution]" type="text" id="AppliedCourses0Institution" />
</div>
<div class="input select">
<label for="AppliedCourses0CourseId">Course Of Interest</label>
<select name="data[AppliedCourses][0][course_id]" id="AppliedCourses0CourseId">
<option value="1">Applied Sciences</option>
<option value="2">Architecture & Built Enviroment</option>
<option value="3">Art & Design</option>
<option value="4">Business / Commerce</option>
<option value="5">Computing & IT</option>
<option value="6">Communication & Media Studies</option>
<option value="7">Education & Language</option>
<option value="8">Engineering</option>
<option value="9">Environmental Science</option>
<option value="10">Health Sciences</option>
<option value="11">Hospitality & Tourism</option>
<option value="12">Humanities & Social Sciences</option>
<option value="13">Law & Legal Studies</option>
<option value="14">Music</option>
<option value="15">Others</option>
</select>
</div>
<div class="input text">
<label for="AppliedCourse0Major">Major Field Of Course</label>
<input name="data[AppliedCourse][0][major]" maxlength="255" type="text" id="AppliedCourse0Major" />
</div>
<div class="input date">
<label for="AppliedCourses0IntakeMonth">Intake</label>
<select name="data[AppliedCourses][0][intake][month]" id="AppliedCourses0IntakeMonth">
<option value="01">January</option>
<option value="02">February</option>
<option value="03" selected="selected">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>-
<select name="data[AppliedCourses][0][intake][year]" id="AppliedCourses0IntakeYear">
<option value="2035">2035</option>
<option value="2034">2034</option>
<option value="2033">2033</option>
<option value="2032">2032</option>
<option value="2031">2031</option>
<option value="2030">2030</option>
<option value="2029">2029</option>
<option value="2028">2028</option>
<option value="2027">2027</option>
<option value="2026">2026</option>
<option value="2025">2025</option>
<option value="2024">2024</option>
<option value="2023">2023</option>
<option value="2022">2022</option>
<option value="2021">2021</option>
<option value="2020">2020</option>
<option value="2019">2019</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2016">2016</option>
<option value="2015" selected="selected">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
</select>
</div>
<div class="input date">
<label for="AppliedCourses0SubmissionDateDay">Submission Date</label>
<select name="data[AppliedCourses][0][submission_date][day]" id="AppliedCourses0SubmissionDateDay">
<option value="01">1</option>
<option value="02" selected="selected">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>-
<select name="data[AppliedCourses][0][submission_date][month]" id="AppliedCourses0SubmissionDateMonth">
<option value="01">January</option>
<option value="02">February</option>
<option value="03" selected="selected">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>-
<select name="data[AppliedCourses][0][submission_date][year]" id="AppliedCourses0SubmissionDateYear">
<option value="2035">2035</option>
<option value="2034">2034</option>
<option value="2033">2033</option>
<option value="2032">2032</option>
<option value="2031">2031</option>
<option value="2030">2030</option>
<option value="2029">2029</option>
<option value="2028">2028</option>
<option value="2027">2027</option>
<option value="2026">2026</option>
<option value="2025">2025</option>
<option value="2024">2024</option>
<option value="2023">2023</option>
<option value="2022">2022</option>
<option value="2021">2021</option>
<option value="2020">2020</option>
<option value="2019">2019</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2016">2016</option>
<option value="2015" selected="selected">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
</select>
</div>
</td>
</tr>
<tr>
<td>
<button type="button" title="Click Here to add another Institution" onclick="addInstitution()">+</button>
</td>
</tr>
</tbody>
和JS
<script>
var lastRowInstitutionApplied = 0;
function addInstitution() {
lastRowInstitutionApplied++;
$("#mytable2 tbody>tr:#InstitutionApplied0").clone(true).attr('id', 'InstitutionApplied' + lastRowInstitutionApplied).removeAttr('style').insertBefore("#mytable2 tbody>tr:#trAdd3");
$("#InstitutionApplied" + lastRowInstitutionApplied + " button").attr('onclick', 'removeInstitutionApplied(' + lastRowInstitutionApplied + ')').attr('style', 'display:block;');
$("#InstitutionApplied" + lastRowInstitutionApplied + " input:first").attr('name', 'data[appliedCourse][' + lastRowInstitutionApplied + '][institution]').attr('id', 'AppliedCourseInstitution' + lastRowInstitutionApplied);
$("#InstitutionApplied0" + lastRowInstitutionApplied + " select").attr('name', 'data[appliedCourse][' + lastRowInstitutionApplied + '][course_id]').attr('id', 'AppliedCourseCourseId' + lastRowInstitutionApplied);
$("#InstitutionApplied0" + lastRowInstitutionApplied + " input:eq(2)").attr('name', 'data[appliedCourse][' + lastRowInstitutionApplied + '][major]').attr('id', 'AppliedCourseCourseMajor' + lastRowInstitutionApplied);
$("#InstitutionApplied" + lastRowInstitutionApplied + " select(1)").attr('name', 'data[AppliedCourse][' + lastRowInstitutionApplied + '][intake]').attr('id', 'AppliedCourseIntake' + lastRowInstitutionApplied);
$("#InstitutionApplied" + lastRowInstitutionApplied + " select(2)").attr('name', 'data[AppliedCourse][' + lastRowInstitutionApplied + '][submission_date]').attr('id', 'AppliedCourseDate' + lastRowInstitutionApplied);
}
function removeInstitutionApplied(x) {
$("#InstitutionApplied" + x).remove();
lastRowInstitutionApplied--;
}
</script>