首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Coldfusion CFOUTPUT中填充name值

如何在Coldfusion CFOUTPUT中填充name值
EN

Stack Overflow用户
提问于 2014-09-13 03:42:06
回答 2查看 465关注 0票数 0

这是上一个问题的更新。我甚至不确定这是否可能,但我有一个CFOUTPUT标记,其中只有一个input标记。此输入标记相当于65个可能的复选框。我遇到的问题是试图找出在input标记的name属性中放入什么值。我需要22个唯一的名字,是静态的,不会改变的。我的代码如下:

代码语言:javascript
复制
<form action="new_processOptInfo.cfm"  id="displayOptions" method="post" name="displayOptions">

<cfoutput query="categorize" group="categoryName">
<h3>#UCASE(categoryName)#</h3>

<cfoutput>
<input type="checkbox" value="#idOptions#" name="option1"  /> #option#<br>
</cfoutput>
</cfoutput>
<input type="submit" value="Submit" name="submitOptions" id="submitOptions" />
</form>

那么我该如何命名输入标记呢?

EN

回答 2

Stack Overflow用户

发布于 2014-09-15 23:19:12

作为对一条评论的回复。

简而言之,我希望自动生成的复选框具有唯一的名称。我认为在向表中插入值时,表单标记名称必须是唯一的

(这个回复太多了,不能作为评论留下。)

对于记录,字段名不必是唯一的。冷融合在逗号分隔的列表中接收重复的字段名称的值。这实际上有很大的用途。您可以有50个名为p_IDs的复选框,如果选中3个复选框,冷融合将收到选中的值(例如,如果这些值是选中的值,则为7、15、32)。

这对于cfloops来说非常有用,比如

代码语言:javascript
复制
<cfloop list="#form.p_IDs#" index="p">Product #p# selected</cfloop>.

您可以命名相应的输入字段,如文本框,如下所示

代码语言:javascript
复制
<input name="desc_#dbID#" type="text">
<input type="checkbox" name="p_IDs" value="#dbID#">

然后在处理页面的cfloop中使用如下代码

代码语言:javascript
复制
<cfloop list="#form.p_IDs#" index="p">
  Product #p#'s description is #form["desc_#p#"]#
</cfloop>

您可以将insert查询放入cfloop (或update或delete查询)。

例如,如果您想批量删除选定的行,而不是单独删除每一行,则可以使用此方法。

这种功能(几乎在每种语言中都以类似的方式工作)是checkboxes的美妙之处。你可以给它们起不同的名字,但你为什么要这样做呢?就单选按钮而言,将它们命名为不同的东西会违背它们的目的。

不过,在其他输入元素的主题上,当然要给它们命名不同的东西。

票数 1
EN

Stack Overflow用户

发布于 2014-09-13 05:05:39

正如@FishBelowtheIce所说,option1将作为列表被发送到动作页面,所以当我意识到这一点并遍历它时。我只需要纠正我的打字错误,它就起作用了。下面的代码就是我现在所拥有的。

代码语言:javascript
复制
<cfif IsDefined("form.submitOptions")>
  <cfloop index="index" list="#options#" delimiters="," >
      <cfquery name="updateInsOpTable" datasource="applewood">
         INSERT INTO ins_opt_table
         ( address,option1,option2,option3,option4,option5,option6
          , option7,option8,option9,option10,option11,option12
          , option13,option14,option15,option16,option17,option18
         )
         VALUES (#form.address#, #options#)
      </cfquery>
  </cfloop>
</cfif> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25815673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档