在javascript中使用coldfusion数据
在我编写的代码中,我有一个表,我预先填充了从MYSQL中的一个表中得到的孩子的名字。在表中,一些问题的div中显示其他问题,具体取决于答案。但是,由于表中的子项数目未知,因此我尝试使用ChildID为每个coldfusion id提供唯一的id。代码如下:在javascript中使用coldfusion数据,javascript,html,variables,coldfusion,coldfusion-10,Javascript,Html,Variables,Coldfusion,Coldfusion 10,在我编写的代码中,我有一个表,我预先填充了从MYSQL中的一个表中得到的孩子的名字。在表中,一些问题的div中显示其他问题,具体取决于答案。但是,由于表中的子项数目未知,因此我尝试使用ChildID为每个coldfusion id提供唯一的id。代码如下: <cfinput type="radio" name="abuseNone#childID#" id="abuseNoneYes#childID#" value=1 onClick="setAbuseVisibl
<cfinput type="radio" name="abuseNone#childID#" id="abuseNoneYes#childID#" value=1
onClick="setAbuseVisible(checked); setAbuseDisable(!checked);"/>
<label for="abuseNoneYes#childID#">Y</label>
<cfinput type="radio" name="abuseNone#childID#" id="abuseNoneNo#childID#" value=0
onClick="setAbuseVisible(!checked); setAbuseDisable(checked); setOtherVisible(!checked);"/>
<label for="abuseNoneNo#childID#">N</label>
<br>
<div id="abuseType#childID#" style= "padding: 5px 0 0 10px;">
<cfinput type="checkbox" name="abuseNeglect#childID#" id="abuseNeglect#childID#" value=1/>Neglect
<br>
<cfinput type="checkbox" name="abusePhysAbuse#childID#" id="abusePhysAbuse#childID#" value=1/>Physical Abuse
<br>
<cfinput type="checkbox" name="abuseSexAbuse#childID#" id="abuseSexAbuse#childID#" value=1/>Sexual Abuse
<br>
<cfinput type="checkbox" name="abuseEmoAbuse#childID#" id="abuseEmoAbuse#childID#" value=1/>Emotional Abuse
<br>
<cfinput type="checkbox" name="abuseOther#childID#" id="abuseOther#childID#" value=1 onClick="setOtherVisible(checked);"/>Other
</div>
<br>
<script language="javascript" type="text/javascript">
setAbuseVisible(document.getElementById("abuseNoneYes" + "jsVar").checked);
</script>
<div id="abuseText" style= "padding: 5px 0 0 20px;">
<cfinput type="text" style="width:120px" name="abuseOtherText#childID#" id="abuseOtherText#childID#" maxlength="140"/>
</div>
<script language="javascript" type="text/javascript">
setOtherVisible(document.getElementById("abuseOther" + "jsVar").checked);
</script>
function setAbuseDisable(checked)
{
document.getElementById("abuseNeglect" + "jsVar").disabled = checked;
document.getElementById("abusePhysAbuse" + "jsVar").disabled = checked;
document.getElementById("abuseSexAbuse" + "jsVar").disabled = checked;
document.getElementById("abuseEmoAbuse" + "jsVar").disabled = checked;
document.getElementById("abuseOther" + "jsVar").disabled = checked;
document.getElementById("abuseOtherText" + "jsVar").disabled = checked;
}
function setAbuseVisible(abuseNone" + "jsVar")
{
if (abuseNone" + "jsVar")
{
document.getElementById("abuseType" + "jsVar").style.visibility = "visible";
document.getElementById("abuseType" + "jsVar").style.height = "70px";
}
else
{
document.getElementById("abuseType" + "jsVar").style.visibility = "hidden";
document.getElementById("abuseType" + "jsVar").style.height = "2px";
document.getElementById("abuseNeglect" + "jsVar").checked = false;
document.getElementById("abusePhysAbuse" + "jsVar").checked = false;
document.getElementById("abuseSexAbuse" + "jsVar").checked = false;
document.getElementById("abuseEmoAbuse" + "jsVar").checked = false;
document.getElementById("abuseOther" + "jsVar").checked = false;
document.getElementById("abuseOtherText" + "jsVar").checked = false;
return false;
}
我知道它设置的变量是正确的,但我认为我可能使用它不正确…如果有人对我做错了什么有任何建议,我将非常感谢 代码应该做什么(用简单的英语)?例如,“我有两个单选按钮和五个复选框。当选中单选按钮
X
时,我想隐藏{this field}”-或-“使{this}复选框元素“选中”@Leigh,我在表中出现了未知数量的子项,我使用ID号来区分它们。表中的每个孩子都必须回答一些问题,其中一些问题需要根据其他答案出现。为此,我尝试使用变量名称末尾的ID(称为childID)来区分要为哪个子级显示问题。我要显示的第一个问题位于div“abuseType”中,具体取决于是否选中了单选按钮abuseNoneYes。第二个在div“abuseText”中,具体取决于是否选中了“其他”复选框。是的,我知道这些项目是通过\childID\链接的。然而,总体目标仍然有点模糊。似乎
包含与两个单选按钮之一相关的选项。当选择“Y”按钮时,您是否只是试图隐藏/显示
容器(并取消选中所有复选框)?表单是否包含具有相同结构的其他元素(radio+div+复选框)?您可能希望研究使用jQuery来实现这一点,而不是使用自己的js。
function setAbuseDisable(checked)
{
document.getElementById("abuseNeglect" + "jsVar").disabled = checked;
document.getElementById("abusePhysAbuse" + "jsVar").disabled = checked;
document.getElementById("abuseSexAbuse" + "jsVar").disabled = checked;
document.getElementById("abuseEmoAbuse" + "jsVar").disabled = checked;
document.getElementById("abuseOther" + "jsVar").disabled = checked;
document.getElementById("abuseOtherText" + "jsVar").disabled = checked;
}
function setAbuseVisible(abuseNone" + "jsVar")
{
if (abuseNone" + "jsVar")
{
document.getElementById("abuseType" + "jsVar").style.visibility = "visible";
document.getElementById("abuseType" + "jsVar").style.height = "70px";
}
else
{
document.getElementById("abuseType" + "jsVar").style.visibility = "hidden";
document.getElementById("abuseType" + "jsVar").style.height = "2px";
document.getElementById("abuseNeglect" + "jsVar").checked = false;
document.getElementById("abusePhysAbuse" + "jsVar").checked = false;
document.getElementById("abuseSexAbuse" + "jsVar").checked = false;
document.getElementById("abuseEmoAbuse" + "jsVar").checked = false;
document.getElementById("abuseOther" + "jsVar").checked = false;
document.getElementById("abuseOtherText" + "jsVar").checked = false;
return false;
}