在javascript中使用coldfusion数据

在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

在我编写的代码中,我有一个表,我预先填充了从MYSQL中的一个表中得到的孩子的名字。在表中,一些问题的div中显示其他问题,具体取决于答案。但是,由于表中的子项数目未知,因此我尝试使用ChildID为每个coldfusion id提供唯一的id。代码如下:

    <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;
            }