У меня есть одна форма с таблицей и кнопкой «ДОБАВИТЬ ЭЛЕМЕНТЫ». При нажатии «ДОБАВИТЬ ЭЛЕМЕНТЫ» открывается вторая форма, в которой пользователь может добавить детали. При нажатии «Отправить» на 2-й странице детали должны быть добавлены в виде новой строки в таблицу на первом экране. Я использую массив и структуру для добавления/добавления в массив.
Каждый раз, когда пользователь пытается добавить новую строку, я создаю новую структуру в существующем массиве (на странице 1) и пытаюсь отобразить массив на первой странице.
<cfset arrayRequisition[k] = StructNew() />
<cfset arrayRequisition[k].Part_Nbr = #Variables.ReqDescription# />
<cfset arrayRequisition[k].Description = #Variables.EQT_DESCRIPTION# />
<cfset arrayRequisition[k].Quantity = #Variables.RQT_QUANTITY# />
<cfset arrayRequisition[k].Status = "pending" />
<cfset arrayRequisition[k].Line_No = #i# />
Здесь K
— количество строк, добавляемых и увеличивающихся каждый раз. Однако я получаю сообщение об ошибке, когда делаю это:
"Поле массива 1 не найдено".
Когда я исправляю это, в таблице отображается только последняя строка.
<cfoutput>
<table border="1">
<tr>
<td style="font-weight:bold;">Part_Nbr </td>
<td style="font-weight:bold;">Description </td>
<td style="font-weight:bold;">Quantity </td>
<td style="font-weight:bold;">Status </td>
<td style="font-weight:bold;">Line_No</td>
</tr>
<cfdump var="#i#">
<cfloop from="1" to="#arrayLen(arrayRequisition)#" index="j">
<cfdump var="#arrayLen(arrayRequisition)#">
<tr>
<td>#arrayRequisition[j].Part_Nbr#</td>
<td>#arrayRequisition[j].Description#</td>
<td>#arrayRequisition[j].Quantity#</td>
<td>#arrayRequisition[j].Status#</td>
<td style="text-align:right;">#arrayRequisition[j].Line_No#</td>
</tr>
</cfloop>
</table>
</cfoutput>
Насколько я понимаю, при переходе между двумя страницами мои предыдущие данные структуры/массива теряются. Как я могу сохранить значения моего массива в этом случае?