遇到了一个问题,我想我可能会看到是否有人对如何修复它有任何想法.
基本上,我在一个奇异变量下传递多个值,我想使用一个循环来提取每个单独的值并同时插入它.
例如,缺血是我用来传递设备值的变量.如果我要选择两个设备,按下提交并在我的处理页面中转储变量#form.ischecked#,我会得到一个值为41,42的值.我需要一种方法来分割这些值,并想出一个cfloop和insert将是完美的.
如果重要的话,这都是在cfc中完成的.
<cfset devicearray = ArrayNew(1)>
<cfset temp = ArrayAppend(devicearray, #ischecked#)>
<cfset test = ArrayToList(devicearray, ",")>
<cfset length= ListLen(test)>\
\\this loop takes the amount of devices selected, and outputs the length of the list.
Run Code Online (Sandbox Code Playgroud)
我用它来找出插入循环应该有多长.我原本也可以检查数组的长度,但我也会将该列表用于其他目的.
<cfset devicetest = #form.ischecked#>
<cfset usertest = #form.userid#>
\\form.ischecked is the variable that contains the device IDs
\\form.userid is the variable that contains the User IDs
<cfquery name="loopquery" datasource="Test">
<cfloop from="1" to="#length#" index="i">
\\loop from 1 to "length", the number of Devices selected …Run Code Online (Sandbox Code Playgroud) 这实际上是我已经解决的问题,但出于好奇,我想知道是否有人可以解释为什么会出现这种情况?
这是我的html:
<!DOCTYPE html>
<html>
<head>
<script src="three.min.js"></script>
<script src="OrbitControls.js"></script>
<script type="text/javascript" src="webgl.js"></script>
</head>
<body style="margin: 0;">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和我的JS:
var scene, camera, renderer;
init();
animate();
function init(){
scene = new THREE.Scene();
var width = window.innerWidth, height = window.innerHeight;
renderer = new THREE.WebGLRenderer({antialias:true});
renderer.setSize(width, height);
document.body.appendChild(renderer.domElement);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,我得到“Uncaught TypeError: Cannot read property 'appendChild' of null ”
但是当我将 webgl.js 脚本移动到正文时,它会正确渲染画布元素。
为什么会出现这种情况?为什么我的脚本需要位于正文中才能附加 dom 元素?渲染器对象在我的控制台中返回画布,那么问题是什么?
我正在做一些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"
感谢您的时间和反馈!如果我需要澄清任何事情,请告诉我.