背景
我的公司网站有一个数据库,其中我将零件存储在一个表中,将零件选项存储在另一个表中。
当用户单击“添加到购物车”按钮时,将提交以下示例数据(用 抓取<cfdump>
):
ADDDESCRIPTION: Mass Meters
ADDPARTNUMBER: M- //part number minus option suffixes
ADDPRICE: 0 //if 0 then is RFQ
FIELDNAMES: //form field names
OPTIONS: .5 SCCM,5M,AIR,,_,_,Standard //part options list
目前,我使用<select>
元素和复选框的组合(参见水冷闭环:Turmoil OCO-20R Chiller - Pascal Technologies, Inc示例)。每个<select>
都有名称“选项”,因此这些值作为您在上面看到的逗号分隔列表返回。
我希望能够使用单选按钮而不是<select>
每个部分选项少于四个项目的列表的元素。显然,单选按钮需要单独的名称才能正确分组,但我需要将它们提交的数据插入到列表中的适当位置。
问题
我尝试将单选按钮命名为options[#id#]
并将所有元素访问为
<cfif qPartOptionGroups.recordcount is not 0> <!--- There are possible options for this part --->
<cfif not isDefined(FORM['options[]']) or qPartOptionGroups.recordcount is not ListLen(FORM['options[]'])>
<cfset ValidForm="">
<cfset InfoSpan="#InfoSpan#The number of options specified does not match the number of options available [#qPartOptionGroups.recordcount#] please add the item to your cart again.<br>">
<cfelse>
但它抛出一个未定义的元素异常,说Element options[] is undefined in a Java object of type class coldfusion.filter.FormScope
我确定这是我错过的东西;有任何想法吗?
PS - 如果我被迫坚持使用<select>
元素,那么我会这样做,但出于 UI 原因,我更喜欢单选按钮。