2016-08-15 3 views
0

입력 필드 (type = number)와 레이블이 있습니다. 입력 필드의 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()"> 

는 이러한 노력 중 하나를 사용하여 반환 오류가 없습니다 있지만 아무튼 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

관련 문제