테이블과 "항목 추가"버튼이있는 폼이 하나 있습니다. "항목 추가"를 클릭하면 사용자가 세부 정보를 추가 할 수있는 두 번째 양식이 열립니다. 두 번째 페이지에서 "제출"을 클릭하면 세부 정보가 첫 번째 화면의 표에 새 행으로 추가됩니다. 배열에 구조체를 추가/추가하려면 구조체를 사용하고 있습니다.ColdFusion 배열, 값 유지
사용자가 새 행을 추가하려고 할 때마다 기존 배열 (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>
내가 알기로, 두 페이지 사이의 전환 중에 이전 구조체 데이터/배열 데이터가 손실됩니다. 이 경우 배열의 값을 어떻게 유지할 수 있습니까?