У меня простая форма. Значения загружаются из базы данных в массив, а затем вся таблица отображается с использованием cfinput и cfselect тегов, чтобы разрешить редактирование полей. Таким образом, я надеялся, что смогу изменить любые поля вверх и вниз по отображаемой таблице, а затем нажать «SUBMIT» и отобразить измененные поля, но ничего не изменилось. Таблица просто возвращается к оригиналу, и изменения в тегах исчезают. Я не хочу, чтобы пользователь обновлял каждое поле отдельно, используя отдельную форму. Я хотел бы иметь полное обновление страницы в одном представлении.Coldfusion (обновление массива с использованием CFForm - изменение значений после отправки)
Любые предложения:
<!--- **** LOAD ARRAY FROM DATABASE ********************************** --->
<cfset AssignArray = ArrayNew(2)>
<cfset i=1>
<cfoutput query="getAssignments">
<cfset AssignArray[i][1]="#getAssignments.Assignment#">
<cfset AssignArray[i][2]="#getAssignments.Baylor#">
<cfset i = i + 1>
</cfoutput>
<!--- **** FORM WITH TABLE OF VALUES TO CHANGE ********************************** --->
<table border="0" cellspacing="0">
<caption>Update Assignments</caption>
<cfform name="formData">
<table>
<tr><th>#</th><th>Assignment</th><th>Name</th></tr>
<cfloop from="1" to= "#getAssignments.RecordCount#" index="i">
<tr>
<td class="centercell"><cfoutput>#i#</cfoutput></td>
<td><cfinput class="assignSize" type="text" name="Assignment"
maxlength="70"
value="#AssignArray[i][1]#"></td>
<td><cfselect class="assignFont" name="Name" query="getNames"
display="Name" value="Baylor" selected="#TRIM(AssignArray[i][2])#">
<cfif AssignArray[i][2] neq "">
<option value="">Not Assigned</option>
<cfelse>
<option value="" selected="selected" >Not Assigned</option>
</cfif>
</cfselect>
</td>
</tr>
</cfloop>
</table>
<cfinput class="btnStyle" type="submit" name="submit" value="Update">
</cfform>
<!--- ****DUMP FORM WITH CHANGED VALUES ************************************ --->
<cfif IsDefined ("form.Assignment")>
<cfif IsDefined ("form.submit")>
<table>
<tr><th>#</th><th>Assignment</th><th>Name</th></tr>
<cfloop from="1" to= "#getAssignments.RecordCount#" index="i">
<tr>
<td class="centercell"><cfoutput>#i#</cfoutput></td>
<td><cfoutput>#AssignArray[i][1]#</cfoutput></td>
<td><cfoutput>#AssignArray[i][2]#</cfoutput></td>
</tr>
</cfloop>
</table>
</cfif>
</cfif>
Что вы подразумеваете под «изменением»? Вы хотите сохранить выбор пользователя при перезагрузке страницы? – Leigh
Ваш тэг cfform не имеет атрибута действия. –
Если вы опустите «действие», cfform по умолчанию присваивает значение текущей странице. – Leigh