Я использую Coldfusion MX7 и имею базовую форму, которая может иметь несколько элементов, которые динамически добавляются в форму. Им присваивается одно и то же имя, и все они имеют флажки. Пример формы следующий:
<form action="index.cfm?action=index.report" method="post" id="reportForm">
<div class="report my">
<ul class="connectWith ui-sortable" id="fieldListSelect" aria-disabled="false">
<li class="field" id="field_profileFn" style="">
<a class="action" id="action_profileFn" href="index.cfm?action=index.filter.profileFn" style="display: block; ">filter</a>
<label for="profileFn">First Name</label>
<input type="checkbox" name="reportItem" id="profileFn" value="profileFn">
</li>
<li class="field" id="field_profileSn" style="">
<a class="action" id="action_profileSn" href="index.cfm?action=index.filter.profileSn" style="display: block; ">filter</a>
<label for="profileSn">Surname</label>
<input type="checkbox" name="reportItem" id="profileSn" value="profileSn">
</li>
<li class="field" id="field_contactDate" style="">
<a class="action" id="action_contactDate" href="index.cfm?action=index.filter.contactDate" style="display: block; ">filter</a>
<label for="contactDate">Contact date</label>
<input type="checkbox" name="reportItem" id="contactDate" value="contactDate">
</li>
</ul>
</div>
</form>
После отправки формы я получаю через cfdump следующее:
<table class="cfdump_struct">
<tr><th class="struct" colspan="2" onClick="cfdump_toggleTable(this);" style="cursor:hand;" title="click to collapse">struct</th></tr>
<tr><td class="struct" onClick="cfdump_toggleRow(this);" style="cursor:hand;" title="click to collapse">CONTACTDATE_FROM</td>
<td> Thu May 19 2011 00:00:00 GMT+0100 (GMT Daylight Time) </td></tr>
<tr><td class="struct" onClick="cfdump_toggleRow(this);" style="cursor:hand;" title="click to collapse">CONTACTDATE_TO</td>
<td> Thu May 19 2011 00:00:00 GMT+0100 (GMT Daylight Time) </td></tr>
<tr><td class="struct" onClick="cfdump_toggleRow(this);" style="cursor:hand;" title="click to collapse">FIELDNAMES</td>
<td> REPORTITEM[],CONTACTDATE_FROM,CONTACTDATE_TO </td></tr>
<tr><td class="struct" onClick="cfdump_toggleRow(this);" style="cursor:hand;" title="click to collapse">REPORTITEM[]</td>
<td> profileFn,profileSn,contactDate </td></tr>
</table>
Сообщается элемент REPORTITEM [], и при попытке получить доступ к нему как к переменной я получаю:
<cfset testing = form.reportItem[]>
Invalid CFML construct found on line 6 at column 50.
Пытаясь получить доступ к переменной так, как я ожидал, я получаю следующее:
<cfset testing = form.reportItem>
Element REPORTITEM is undefined in FORM.
Я унаследовал этот код, и он ДОЛЖЕН работать ранее. Coldfusion не был обновлен (очевидно, все еще CF 7), и ничто другое не изменило серверную сторону, о которой я могу думать.
Мои вопросы:
- Это всего лишь ограничение CF7?
- Это должно работать правильно или это совершенно неправильно?
- Мне придется переписать довольно много этого кода, если это просто не сработает, обработать это после публикации данных будет проще для кода. Изменение формы будет более трудоемким, так возможно ли это?