2017-03-12 4 views
-1

5 개의 입력에 '숫자'유형이 있습니다. 사용자가 입력 할 최대 값은 '5'입니다.
예를 들어 사용자가 첫 번째 입력 필드에 '4'를 입력하면됩니다. 그는 다른 분야에서이 번호를 다시 제출할 수 없습니다.javaScript - 숫자 입력 - 특정 숫자 허용

또는 그는 메시지 팝업을 통해 경고 할 수 있습니다.
필드가 'max'보다 많은 숫자를 입력 할 때와 같이 경고가 브라우저에 내장되어 있으면 잘못된 입력으로 빨간색으로 표시됩니다.

나는 배열을 만들 수 있고 사용자가 값을 제출할 때 배열의 해당 값이 맞는지 확인하고 배열이 아닌 경우 배열 에 넣지 만 경고 디자인을 만들어야합니다.

나는 똑똑하고 쉬운 해결책을 찾고 있습니다.

<input type='number' max = '5' onchange = 'change(this)'> 
<input type='number' max = '5' onchange = 'change(this)'> 
<input type='number' max = '5' onchange = 'change(this)'> 
<input type='number' max = '5' onchange = 'change(this)'> 
<input type='number' max = '5' onchange = 'change(this)'> 

function change(it) 
{ 
    // what shoult I do ?!... 

} 

감사합니다.

+0

여기에 내가 한 방법 : ' var input = document.getElementsByClassName ("input"), inpLength = input.length; 함수가 변경된 경우 {if (it.value! = '') {for (var i = 0; i Mahmoud

답변

0

jquery를 사용하고 변경시 필드 값을 서로 비교할 수 있습니다. 이 답변을 참조하십시오 :

https://stackoverflow.com/a/30307040/1333744

+0

왜 jQuery를 그렇게 간단한 것으로 사용할 수 있다고 제안하는 것입니까? 진지하게, 100kB 이상의 스크립트를 다운로드하는 것만으로 간단합니다. ** no no ** – grzesiekgs

+0

예, Jquery를 사용하고 싶지는 않지만 정말 좋은 답변입니다. 문제는 내가 '형제'함수 대신 사용할 함수를 구현해야한다는 것입니다. JS에있는 것과 동등한 것이 있다는 것을 알고 있기 때문에 – Mahmoud

0

는 당신이, 모든 입력을하는 클래스를 제공한다 할 수있다 'foo는'말할 수 있습니다.

그런 다음 JQuery와는 간다 :

$(".foo").on('change', function() { 
    var inputNumber = $(this).val(); 
    if (inputNumber > 5) { 
    alert("Can't enter more than 5! Sorry"); 
    $(this).val(5); 
    } else { 
    var array = []; 
     $siblings = $(this).siblings(); 
     $.each($siblings, function (key, value) { 
      array.push($(value).val()); 
     }); 
if ($.inArray($(this).val(), array) !== -1) 
    { 
     alert("You have already entered that number"); 
    } 
    } 
}); 

HTML :

<input type='number' max = '5' class='foo'> 
<input type='number' max = '5' class='foo'> 
<input type='number' max = '5' class='foo'> 
<input type='number' max = '5' class='foo'> 
<input type='number' max = '5' class='foo'> 

당신은, (나는 마음을 해달라고하는) 그런 '작은'일에 대한 jQuery를 사용하지 않으려면 자바 스크립트로 jQuery를 변환하면 제공된 코드를 볼 수있다.

+0

Hennry가 매우 대단합니다. 하지만 난 정말 순수 js에서 이렇게 형제를 대체하고 싶다면 내가 그것을 위해 함수를 만들 필요가 맞지? – Mahmoud