jor*_*ume 0 html sql coldfusion
我正在做一些CF开发,我遇到了一个问题.我没有把头撞在键盘上,而是想问一下有经验的人.
所以这就是我正在处理的事情:
<form name="inv" action="action.cfm" method="post" >
<cfoutput query="getQuery">
<input type="checkbox" name="ischecked" value="1" unchecked />
<input type="Hidden" name="DeviceID" value="#DeviceID#">
</td>
<td><font size="3"><b>Device ID:</b></font>#DeviceID#</td>
<td><font size="3"><b>User</b></font>#User#</td>
<td><font size="3"><b>Tag:</b></font>#Tag#</td>
</table>
</cfoutput>
<table>
<tr><td> Action: </td>
<td>
<select name="choose_action">
<option value="1"> Action 1 </option>
<option value="2"> Action 2 </option>
<option value="3"> Action 3 </option>
</select>
<INPUT type="reset" name="reset" action="reset">
<INPUT type="submit" name="submit" action="submit">
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
所以基本上我有这个表单,它从我的查询输出所有信息(工作正常)并循环并显示它.我希望用户能够查看此信息,单击特定设备的复选框,然后根据底部的菜单执行操作,然后转到操作页面并使用传入的信息执行查询基于cfif循环.
我遇到的问题是我无法弄清楚如何传递用户特意检查的信息,因为它是一个循环.当我提交包含设备ID的隐藏字段时,我最终会提交每个具有复选框的设备ID(每个都是).复选框值也是如此.它只是将所有查询数据转储到查询中每个设备的操作页面中,而不仅仅是我想要的那个首先检查的设备ID.
我在考虑一些后端JS,但我并不完全确定如何做到这一点.我希望我能在验证之前对其进行验证并说:"如果选中此项,那么只提交此特定的设备ID"
感谢您的时间和反馈!如果我需要澄清任何事情,请告诉我.
这是2个答案(我已经看过两个).
首先 - 尝试将设备ID作为复选框"名称"的一部分.
<cfoutput query="getQuery">
<input type="checkbox" name="ischecked_#deviceID#" value="1" unchecked />
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
然后你会循环通过这样的形式:
<cfloop collection="#form#" item="fItem">
<cfif listfirst(fItem,'_') IS 'ischecked'>
<cfset thisDeviceID = listlast(fItem,'_')>
...do something with deviceID
</cfif>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
第二种方法是将设备ID存储在"缺陷"表单字段中,如下所示:
<cfoutput query="getQuery">
<input type="checkbox" name="ischecked" value="#deviceID#" unchecked />
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
这些值通过列表包含任何已检查的内容...因此,如果您的用户检查1,5和7,则可变的#form.isChecked#将是一个看起来像1,5,7的列表.使用listfind或cfloop或其他任何东西来做它.只记得你必须使用check来确保taht form.isChecked存在,因为如果没有检查它将不存在(对于大多数浏览器).
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |