Использование данных Coldfusion в JavaScript
В коде, который я пишу, у меня есть таблица, которую я заполняю именами детей, которые я получаю из таблицы в MYSQL. В таблице, некоторые вопросы имеют другие вопросы в div, которые появляются в зависимости от ответов. Однако, поскольку в таблице неизвестное число детей, я пытаюсь использовать childID, чтобы дать каждому идентификатору Coldfusion уникальный идентификатор. Код для этого выглядит следующим образом:
<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>
Я пытался превратить свой childID во что-то, что я мог бы использовать в JavaScript следующим образом:
<cfset thisString=#childID#>
<script type="text/javascript" language="JavaScript">
<cfoutput>
var #toScript(thisString, "jsVar")#;
</cfoutput>
</script>
Мои функции JavaScript были следующими:
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;
}
Я знаю, что это корректная установка переменной, но я думаю, что я могу использовать ее неправильно... Если у кого-нибудь есть какие-либо советы о том, что я делаю неправильно, я был бы очень признателен.