2011-03-10 109 views
5

我想的是,如果某個選項,從下拉菜單中選擇了文本框時,纔可訪問,我有如下的HTML表單:啓用選項文本選自/禁用下拉菜單

<tr> 
<td>a.&nbsp;Did any of your staff participate in training or orientation sessions related to any aspect of social performance management, during the reporting year? </td> 
<td > 
<p> 
    <select name="mfi_4_a_i"> 
    <option>Yes</option> 
    <option>No</option> 
    <option>No, but planning in future</option> 
    </select> 
</p> 
<p>if not,and not planning please explain why not </p> 
<input type="text" name="mfi_4_a_ii" id="sdd" /> 
</tr> 

現在,當用戶選擇否選項,但在將來計劃時,必須啓用文本框,否則必須禁用文本框。

我該如何做到這一點?

+0

重複[問題](http://stackoverflow.com/questions/5255969/how-to-make-a-checkbox-enable-and-禁用一個文本框在多個案例)由同一用戶 – diEcho 2011-03-10 10:27:21

回答

9

您應該爲此調用javascript函數。

<select id="mfi_4_a_i" name="mfi_4_a_i" onChange="changetextbox();"> 
    <option>Yes</option> 
    <option>No</option> 
    <option>No, but planning in future</option> 
</select> 

<input type="text" name="mfi_4_a_ii" id="sdd" /> 

<script type="text/javascript"> 
function changetextbox() 
{ 
    if (document.getElementById("mfi_4_a_i").value === "noy") { 
     document.getElementById("sdd").disable='true'; 
    } else { 
     document.getElementById("sdd").disable='false'; 
    } 
} 
</script> 
+2

.disable不是有效的屬性/屬性 document.getElementById(「sdd」)。disable ='true'; 實際上應該是 document.getElementById(「sdd」)。disabled ='true'; 然後false不是「disabled」的有效值使它變爲空而是。 – Nashe 2015-06-12 17:31:40

+0

什麼是「noy」以及它代表最後一個選項 – 2017-07-25 05:17:30

0

如果不進行服務器往返,您必須使用javascript來做到這一點。

+0

可以告訴我詳細或你能給我一個鏈接或一些提示做到這一點。 – Nyaro 2011-03-10 10:30:34

8

對我來說,document.getElementById("sdd").disabled='false'沒有工作,所以我用

document.getElementById("sdd").disabled='';

if (document.getElementById("mfi_4_a_i").value === "noy") { 
    document.getElementById("sdd").disabled='true'; 
} else { 
    document.getElementById("sdd").disabled=''; 
} 
0

document.getElementById("the_id").disabled='';對我的作品。作品,很像style.display

2

只是更正... 刪除; ,===,諾伊, '真' #NO報價

onChange="changetextbox();" 
if (document.getElementById("mfi_4_a_i").value == "no") { 
document.getElementById("sdd").disabled=true;