2016-08-15 4 views
0

私は入力フィールド(タイプ=番号)とラベルを持っています。私は入力フィールドのmax属性をラベルの値に設定しようとしています。入力フィールドの最大値をラベルの値に設定します

私は無駄に異なる方法で試してみました

1)

<input id="Input1" type="number" step="any" min="1" max='<%#Convert.ToDecimal(Label1.InnerText) %>'> 

2)

function setMaxTonnes() { 
    var input = document.getElementById("<%= Input1.ClientID %>"); 
    var maxValue = document.getElementById("<%= Label1.ClientID %>").innerText; 
    input.setAttribute("max", maxValue); 
} 

<input type="number" step="any" min="1" onfocus="setMaxTonnes()"> 

は、これらの努力のいずれかで返し、エラーはありませんが、それはdoesnのLabel1に格納されている値より大きな値を入力できないようにします。

私は間違っていますか?

答えて

0

コンパイル済みのマークアップでasp変数が修正されていますか?入力要素が実際に最大値を取得した場合、DevToolsを調べてみてください。 あなたの例は正確ですが、<input type="number" step="any" min="1" max="12">は問題なく動作します。

+0

はいmax属性に数字を入れることは、あなたが言うようにうまくいきます。私は別の変数を扱うことができません。 – Johnathan

+0

<%#Convert.ToDecimal(Label1.InnerText)%>が実際にマークアップの数値を出力していることを確認しましたか? –

+0

max属性として使用した場合、出力は生成されません。しかし、変数を設定してConvert.ToDecimal(Label1.InnerText)に設定した場合は、そのようになります。 – Johnathan

関連する問題