2012-01-07 13 views
0

私はこの1つのテキスト入力フィールドにクライアント側とサーバー側の両方の検証を適用しているWebフォームを持っています。ドロップダウンメニューの設定に基づいて文字数制限を設定する条件付きコードを得る方法を探していますに。例えばウェブフォームドロップダウンメニューの条件付きJavaScriptを設定していますか?

オプション3を選択した場合、私は事前にコード化されたJavaScript/jQueryの検証スクリプトの数で実験し、彼らしてきた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" /> 

に最大文字制限を制限この特別な必要性を除いて、すべてうまく動作します。

はどのようにこれを行うことができますか? アドバイスありがとうございます。

答えて

0

入力のmaxLengthを設定するselect onchangeイベントを作成します。オプション値をイベントの値として使用できます。例:

<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

+0

私は変更したいですオプションの値に基づいて、または選択したインデックスが3であるかどうかに基づいて、最大長を指定します。 'document.getElementById( 'txt')。maxLength =(this.value ==" 10 ")?3:null;' 'document.getElementById(" txt ")。maxLength =(this.selectedIndex == 2)?3:null;' – gengkev

関連する問題