2012-01-07 58 views
0

我有一個Web窗體,我正在應用客戶端和服務器端驗證,並在這一個文本輸入字段我正在尋找一些方法來有條件的代碼,設置一個字符限制基於下拉菜單設置的是什麼至。爲Web表單下拉菜單設置條件JavaScript?

例如:

如果Option 3被選擇,限制最大字符數限制到10

<select> 
<option>Option 1</option> 
<option> Option 2</option> 
<option>Option 3</option> 
<option>Option 4</option> 
</select> 

<label>Text Field</label> 
<input type="text" /> 

我已經與一些預編碼的javascript/jquery的驗證腳本和它們的試驗所有的工作都很好,除非有這種特殊需求。

這怎麼辦? 感謝您的任何建議。

回答

0

創建一個select onchange事件,該事件將設置輸入的maxLength。您可以使用選項值作爲事件的值。例如:

<select id="sel" onchange="document.getElementById('txt').maxLength = document.getElementById('sel').value;" > 
<option value="3">Option 1</option> 
<option value="5"> Option 2</option> 
<option value="10">Option 3</option> 
<option value="20">Option 4</option> 
</select> 
<br/> 
<label>Text Field</label> 
<input type="text" id="txt" value="" maxlength="3" /> 

你可以在這裏進行測試 - http://jsfiddle.net/codefuze/R7RtJ/

+0

的問題是,他可能需要,在服務器端,實際上是做一些基於下拉... – gengkev 2012-01-08 00:41:36

+0

我會改變最大長度根據選項的值或所選索引是否爲3: 'document.getElementById('txt')。maxLength =(this.value ==「10」)?3:null;' '的document.getElementById( 「TXT」)最大長度=(this.selectedIndex == 2)3:空;'? – gengkev 2012-01-08 00:52:28