2016-03-08 65 views
0

單選按鈕有問題。我有2個單選按鈕,單擊時我希望每個單選按鈕都顯示並隱藏不同的文本字段。Coldfusion - 驗證單選按鈕是否被選中

每個單選按鈕都有自己的ID和名稱。

的html代碼:

<td> 
    <div class="btn-group" data-toggle="buttons"> 
    <label class="btn btn-default"> 
    <input type="radio" id="has_sub_component_1" name="has_sub_component" value="1"/>Yes 
    </label> 
    <label class="btn btn-default"> 
    <input type="radio" id="has_sub_component_0" name="has_sub_component" value="0"/>No 
    </label> 
</div> 
</td> 


<cfif isDefined("has_sub_component_1")> 
    <tr> 
    <td></td> 
    <td><input type="text" name="mark" id="sub_mark" value="" /> 
    </tr> 
</cfif> 
<cfif isDefined("has_sub_component_0")> 
    <tr> 
    <td></td> 
    <td><input type="text" name="topic" id="sub_topic" value="" /> 
    </tr> 
</cfif> 

當我點擊了單選按鈕之一,它說明不了什麼。我知道isDefined()函數只接受輸入文本字段中的名稱。如何在點擊單選按鈕時顯示文本框?

+0

我認爲你需要javaScript來做到這一點。 –

+1

您似乎並不瞭解ColdFusion是如何... *作品*。 ColdFusion在服務器上運行,客戶端與芯片之間的交互在客戶端上運行。兩者之間沒有直接的交互作用,並且在任何客戶端代碼運行時,ColdFusion的請求部分都已經很久了。這可能會使您閱讀以下內容:http://blog.adamcameron.me/2012/10/the-coldfusion-requestresponse-process.html –

回答

1

這絕對是一個基於JavaScript的解決方案的問題。

下面是一個例子:

<script type="text/javascript"> 

function yesnoCheck() { 
    if (document.getElementById('yesCheck').checked) { 
     document.getElementById('ifYes').style.display = 'block'; 
    } 
    else document.getElementById('ifYes').style.display = 'none'; 

} 

</script> 
Yes <input type="radio" onclick="javascript:yesnoCheck();" name="yesno" id="yesCheck"> No <input type="radio" onclick="javascript:yesnoCheck();" name="yesno" id="noCheck"><br> 
    <div id="ifYes" style="display:none"> 
     If yes, explain: <input type='text' id='yes' name='yes'><br> 
     What can we do to accommodate you? <input type='text' id='acc' name='acc'> 
    </div> 

     other 3<input type='text' id='other3' name='other3'><br> 
     other 4<input type='text' id='other4' name='other4'><br> 

從這個的jsfiddle抓起:

http://jsfiddle.net/QAaHP/16/

你可以用它來針對一類或ID的任何頁面元素,然後應用的影響。

+0

我發現我們也可以使用Jquery –