1

我为用户创建了一个表单,可以将各种图像上传到图库中。他们可以选择图像,它应该进入哪个现有类别(或创建一个新类别)以及是否将图像显示为该类别的“特色”图像。

这是表格:

<FORM action='update_gallery.cfm' method='post' NAME="addform">
<TABLE align='center' cellpadding='10' cellspacing='5'>
<TR><TH>Delete</TH><TH>Image File</TH><TH>Preview</TH><TH>Category</TH><TH>New Category</TH><TH>Description</TH><TH>Featured?</TH></TR>
<CFOUTPUT QUERY="getGallery">
<TR>
<TD><INPUT NAME="ID" TYPE="checkbox" VALUE="#ID#" /></TD>
<TD>#IMAGE#</TD>
<TD><IMG SRC="../images/#IMAGE#" WIDTH='50' HEIGHT='50' /><INPUT TYPE="hidden" NAME="IMAGE" VALUE="#IMAGE#" /></TD>
<TD>
    <SELECT NAME='CATEGORY'>
    <CFLOOP query="getCategory">
        <OPTION <cfif #getGallery.CATEGORY# IS '#getCategory.CATEGORY#'>SELECTED</cfif>>#getCategory.CATEGORY#</OPTION>
    </CFLOOP>
</SELECT>
</TD>
<TD><INPUT TYPE="text" SIZE='30' NAME='NewCATEGORY' VALUE="" /></TD>
<TD><INPUT TYPE="text" SIZE='35' NAME="IMAGE_DESC" VALUE="#IMAGE_DESC#" /></TD>
<TD align="center">
<INPUT TYPE="radio" NAME="#CATEGORY#_PIC" ID="CATEGORY_PIC" VALUE="Yes" <cfif #CATEGORY_PIC# IS 'Yes'>CHECKED</cfif> />
<INPUT TYPE="hidden" NAME="CATEGORY_PIC" VALUE="#CATEGORY_PIC#">
</TD>
</TR>
<INPUT TYPE="hidden" NAME="HiddenID" VALUE='#ID#' />
</CFOUTPUT>
<TR><TD COLSPAN='6' ALIGN='CENTER'>
<INPUT TYPE="hidden" NAME="Submitted" VALUE='Y' /><INPUT TYPE="submit" VALUE='Process Updates' /></TD></TR>
</TABLE>
</FORM>

这是我不知道该怎么做的复杂部分——对于每个独特的类别,只能选择一个特色图片,所以我为每个类别创建了一个动态命名的单选组,其中只能有一个项目为每个类别选择。提交表单时,就 ColdFusion 而言,“未选中”单选按钮不存在。我需要为未选中的按钮提交一个“否”值到数据库中,为选中的按钮提交一个“是”值。这个值应该是 CATEGORY_PIC 值,我为此创建了一个隐藏的表单字段。

我已经连续工作了 4 天,并搜索了我能找到的每一个可能的类似场景,但没有什么与我想要完成的相同。这不会那么困难,但我只是不知道如何做到这一点。

我正在使用 MS Access 数据库运行 ColdFusion 9。

4

2 回答 2

1

您不能在 update_gallery.cfm 页面上对它们进行参数化吗?

<cfparam name="CATEGORY_PIC" default="No">

对于动态

<cfparam name="#category#_pic" default="no">

或者

<cfscript>if(!isDefined('CATEGORY_PIC')){CATEGORY_PIC='No';}</cfscript>
<cfscript>if(!isDefined('#CATEGORY#_PIC')){'#CATEGORY#_PIC'='No';}</cfscript>
于 2012-06-27T23:28:49.757 回答
-3
<!--- Sample Data Set --->
<cfset gallery = "1,1.jpg,preview1.jpg,cat1,description1,true
5,5.jpg,preview5.jpg,cat1,description5,false
2,2.jpg,preview1.jpg,cat2,description2,false
6,6.jpg,preview6.jpg,cat2,description6,true
3,3.jpg,preview3.jpg,cat3,description3,false
7,7.jpg,preview7.jpg,cat3,description7,true
4,4.jpg,preview4.jpg,cat4,description4,true
8,8.jpg,preview8.jpg,cat4,description8,false">
<cfset category = "cat1
cat2
cat3
cat4">
<cfif isDefined('data')>
    <cfsetting showdebugoutput="false">
    <cfif isDefined(data)>
        <cfoutput>#evaluate(data)#</cfoutput>
    </cfif>
<cfelse>
    <!--- Populate Queries --->
    <cfhttp
        name="getGallery"
        method="get"
        url="#script_name#?data=gallery"
        firstrowasheaders = "no" 
        columns = "id,image,preview,category,image_desc,category_pic"
    />
    <cfhttp
        name="getCategory"
        method="get"
        url="#script_name#?data=category"
        firstrowasheaders = "no" 
        columns = "category"
    />

    <!--- Jennifer's Code --->   
    <form action='update_gallery.cfm' method='post' name="addform">
        <table align='center' cellpadding='10' cellspacing='5'>
            <tr><th>delete</th><th>image file</th><th>preview</th><th>category</th><th>new category</th><th>description</th><th>featured?</th></tr>
            <cfoutput query="getgallery">
                <tr>
                    <td><input name="id" type="checkbox" value="#id#" /></td>
                    <td>#image#</td>
                    <td><img src="../images/#image#" width='50' height='50' /><input type="hidden" name="image" value="#image#" /></td>
                    <td>
                        <select name='category'>
                            <cfloop query="getcategory">
                                <option <cfif getgallery.category eq getcategory.category>selected</cfif>>#getcategory.category#</option>
                            </cfloop>
                        </select>
                    </td>
                    <td><input type="text" size='30' name='newcategory' value="" /></td>
                    <td><input type="text" size='35' name="image_desc" value="#image_desc#" /></td>
                    <td align="center">             
                        <input type="radio" name="#getGallery.category#_pic" id="category_pic" value="#id#" <cfif getGallery.category_pic>checked="checked"</cfif>>
                    </td>
                </tr>
                <input type="hidden" name="hiddenid" value='#id#' />
            </cfoutput>
            <tr><td colspan='6' align='center'>
            <input type="hidden" name="submitted" value='y' /><input type="submit" value='process updates' /></td></tr>
        </table>
    </form>

</cfif>
于 2012-06-27T23:56:29.983 回答