1

我正在创建一个表单,cfloop并且需要在提交表单时单独访问每个变量。我需要在循环中使用表单的选定条目,将我的选择添加到数据库中。

这是我的表格:

<form method="post">     
   <input type="hidden" name="isPost" value="1">
   ...
   <cfoutput>
   <cfloop query="client_admin_surveys">
      <input type="text" size="35" name="surveyID" id="surveyID" value="#id#">
      <input type="text" size="35" name="surveyName" id="surveyName" value="#name#">
      <input type="checkbox" name="amplify" id="amplify">          
      <input type="checkbox" name="enchance" id="enchance">
      <input type="checkbox" name="pacify" id="pacify">
      <input type="checkbox" name="pacifyUrgent" id="pacifyUrgent">
   </cfloop>
   </cfoutput>
   ...
   <input type="submit" name="submit" value="Submit">
</form>

发布表单后,结果将我的所有选择分组,因为我的表单元素具有相同的“名称”。我尝试i在每个名称旁边添加一个计数以使其不同,但后来我对如何处理这些字段感到有些困惑。

4

1 回答 1

4

添加计数器时,您从正确的路径开始 - 返回并添加,例如:

<input type="checkbox" name="amplify#client_admin_surveys.currentRow#" id="amplify">

会工作。

我有时也喜欢在处理页面上为“计数器”添加一个表单字段

<input type="hidden" name="counter" value="#client_admin_surveys.recordCount#" />

然后在处理页面上,您可以遍历计数器并使用括号表示法访问表单字段

<cfloop from="1" to="#form.counter#" indexd="i">
    <cfset thisAmplify = form["amplify" & i] />
    <cfset thisEnhance = form["enhance" & i] />
    <!---- more logic here --->
</cfloop>
于 2013-07-30T15:34:07.650 回答