자바 스크립트를 사용하여 입력에 대한 증가 화살표 값 확인

arater 2000

증가 화살표 버튼이있는 간단한 입력이 있는데, 숫자를 하나의 디스플레이 경고 메시지로 늘리고 0으로 줄이면 다른 경고 메시지를 표시하도록 입력 값을 확인하고 싶습니다.

다음은 증가 화살표 버튼이있는 입력입니다.

<button style="margin-left:20%;" type='button' onclick="this.parentNode.querySelector('input[type=number]').stepUp();" class="plus"></button>
<input id="myInput" min="0" name="quantity" value="0" type="number" />
<button style="margin-left:20%;" type='button' onclick="this.parentNode.querySelector('input[type=number]').stepDown();"></button>

내가 시도한 것은 다음과 같습니다.

if (document.getElementById("myInput").value === "1") {
  alert("one");
} else if (document.getElementById("myInput").value === "0") {
  alert("zero");
}

업데이트 된 코드 :

<script type="text/javascript">
  function validate3() {

    var input = document.querySelector("#quantity");
    var parent = document.querySelector(".input-control");

    function alertQuantity(value) {
      if (value > '1') alert("one");
      else if (value === '0') alert("zero");
    }

    parent.addEventListener('click', function(event) {
      var target = event.target;
      if (target.tagName === 'BUTTON') {
        if (target.id === 'stepUp') {
          input.stepUp();
        } else if (target.id === 'stepDown') {
          input.stepDown();
        }
        alertQuantity(input.value);
      }
    })

    input.addEventListener('change', function(event) {
      alertQuantity(event.target.value);
    })
  }
</script>


<div class="input-control">
  <button type='button' id="stepUp" onclick="validate3() ">+</button>
  <input id="quantity" min="0" name="quantity" value="0" type="number" />
  <button type='button' id="stepDown" onclick="validate3() ">-</button>
</div>
SMAKSS

먼저, 깔끔하고 유지 관리 할 수 ​​있도록 Unobtrusive JavaScript 접근 방식 을 고수하기 위해 항상 인라인 핸들러를 사용하지 마십시오 .

원하는 것을 얻기 위해 버튼에 이벤트 리스너를 추가하고 조건을 충족하는지 여부를 확인하기위한 입력을 추가 할 수 있습니다. 간단히 addEventListener(). 또한 애플리케이션에서 더 나은 성능을 생성하려면 일반적으로 DOM에 동일한 이벤트를 여러 개 연결하지 않는 것이 좋습니다. 따라서 단일 이벤트 리스너를 상위 요소에 추가 한 다음 확인 하는 이벤트 위임 방식 을 사용하는 것이 좋습니다. 클릭 한 요소가 원하는 것과 동일한 지 여부.

따라서 최종 코드는 다음과 같습니다.

ES6 버전

const input = document.querySelector("#quantity")
const parent = document.querySelector(".input-control")

function alertQuantity(value) {
  if (value === '1') alert('one')
  else if (value === '0') alert('zero')
}

parent.addEventListener('click', function(event) {
  const {
    target
  } = event
  if (target.tagName === 'BUTTON') {
    if (target.id === 'stepUp') {
      input.stepUp();
    } else if (target.id === 'stepDown') {
      input.stepDown();
    }
    alertQuantity(input.value)
  }
})

input.addEventListener('change', function(event) {
  alertQuantity(event.target.value)
})
<div class="input-control">
  <button type='button' id="stepUp">+</button>
  <input id="quantity" min="0" name="quantity" value="0" type="number" />
  <button type='button' id="stepDown">-</button>
</div>

ES5 버전

세미 콜론, if 문 차단 및 스크립트 태그는 추가 가독성과 OP 상황을 위해 추가되었습니다. 따라서 이러한 일은 ECMAScript 버전과 관련이 없습니다.

<div class="input-control">
  <button type='button' id="stepUp">+</button>
  <input id="quantity" min="0" name="quantity" value="0" type="number" />
  <button type='button' id="stepDown">-</button>
</div>

<script type="text/javascript">
  var input = document.querySelector("#quantity");
  var parent = document.querySelector(".input-control");

  function alertQuantity(value) {
    if (value === '1') {
      alert('one');
    } else if (value === '0') {
      alert('zero');
    }
  }

  parent.addEventListener('click', function(event) {
    var target = event.target;
    if (target.tagName === 'BUTTON') {
      if (target.id === 'stepUp') {
        input.stepUp();
      } else if (target.id === 'stepDown') {
        input.stepDown();
      }
      alertQuantity(input.value);
    }
  });

  input.addEventListener('change', function(event) {
    alertQuantity(event.target.value);
  });
</script>

스 니펫 작동 방식

  • querySelector()API를 사용하여 실제 DOM에서 요소를 가져 왔습니다.
  • alertQuantity추상화를 생성하고 달성하려는 간단한 경고 목적을위한 코드 중복을 피하기 위해 호출 된 함수 를 생성합니다.
  • 그런 다음 addEventListener()부모 click이벤트 및 입력 change이벤트 를 수신 하는 데 사용하여 간단한 이벤트 리스너를 만듭니다.
  • 부모 클릭 이벤트에서 어떤 버튼이 클릭되는지 확인하고 그에 따라 작업을 수행했습니다.
  • 마지막으로 알림 기능을 호출하여 이벤트를

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트로 여러 입력 값을 확인하고 한 번에 여러 입력 상자를 표시하십시오.

분류에서Dev

외부 스크립트를 사용하여 자바 스크립트에서 표 셀의 값 가져 오기

분류에서Dev

입력 값을 가져 와서 자바 스크립트를 사용하여 다른 입력에 전달

분류에서Dev

자바 스크립트를 사용하여 대화 상자에 텍스트 입력

분류에서Dev

입력 값을 확인하는 자바 스크립트

분류에서Dev

자바 스크립트를 사용하여 bootstrap-datepicker에서 입력 값 가져 오기

분류에서Dev

자바 스크립트에서 변수를 이름으로 사용하여 입력 필드 값 가져 오기

분류에서Dev

자바 스크립트를 사용하여 확장 가능한 표를 CSV로 내보내기

분류에서Dev

자바 스크립트를 사용하여 PHP 개체 값을 확인하는 방법은 무엇입니까?

분류에서Dev

URL 열기 + 자바 스크립트를 사용하여 사용자가 입력 한 텍스트

분류에서Dev

입력 클래스 이름에서 참조하는 자바 스크립트를 사용하여 입력 필드에서 값을 부정확하게 검색

분류에서Dev

자바 스크립트를 사용하여 입력 필드 텍스트 상자에서 여러 단어 확인

분류에서Dev

사용자가 입력 한 문자열이 자바 스크립트의 배열에 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트의 오류에 대한 사용자 입력 확인

분류에서Dev

자바 스크립트를 사용하여 JSON에 키 : 값 쌍 추가

분류에서Dev

자바 스크립트를 사용하여 json 파일에 키와 값 추가

분류에서Dev

사용자가 입력 한 이미지 수를 표시 하시겠습니까? 자바 스크립트

분류에서Dev

자바 스크립트를 사용하여 양식 게시를 시뮬레이션하기위한 파일 입력 값 가져 오기

분류에서Dev

체크 박스, 텍스트 상자에 값 추가 및 자바 스크립트를 사용하여 선택

분류에서Dev

자바 스크립트를 사용하여 동적 텍스트 상자에서 사용자가 입력 한 값의 평균을 추가하고 가져옵니다.

분류에서Dev

자바 스크립트가 증가하는 HTML 입력 태그 값 속성

분류에서Dev

사용자가 로그인 한 경우에도 Firebase 자바 스크립트 인증 사용자가 null을 표시 함

분류에서Dev

자바 스크립트를 사용하여 계산 된 숫자가 대화 형 보고서에 올바르게 표시되지 않음

분류에서Dev

자바 스크립트를 사용하여 HTML 테이블의 여러 인덱스에 대한 검색 필드

분류에서Dev

자바 스크립트를 사용하여 체크 박스에 대한 맞춤 속성 가져 오기

분류에서Dev

자바 스크립트를 사용하여 변수의 값 확인

분류에서Dev

자바 스크립트를 사용하여 파일 입력 대화 상자를 닫을 수 있습니까?

분류에서Dev

자바 스크립트를 사용하여 할당 된 입력 필드 '값'을 가져올 수 없습니다.

분류에서Dev

자바 스크립트를 사용하여 PHP 스크립트에서 대화식으로 데이터를 가져 오는 방법

Related 관련 기사

  1. 1

    자바 스크립트로 여러 입력 값을 확인하고 한 번에 여러 입력 상자를 표시하십시오.

  2. 2

    외부 스크립트를 사용하여 자바 스크립트에서 표 셀의 값 가져 오기

  3. 3

    입력 값을 가져 와서 자바 스크립트를 사용하여 다른 입력에 전달

  4. 4

    자바 스크립트를 사용하여 대화 상자에 텍스트 입력

  5. 5

    입력 값을 확인하는 자바 스크립트

  6. 6

    자바 스크립트를 사용하여 bootstrap-datepicker에서 입력 값 가져 오기

  7. 7

    자바 스크립트에서 변수를 이름으로 사용하여 입력 필드 값 가져 오기

  8. 8

    자바 스크립트를 사용하여 확장 가능한 표를 CSV로 내보내기

  9. 9

    자바 스크립트를 사용하여 PHP 개체 값을 확인하는 방법은 무엇입니까?

  10. 10

    URL 열기 + 자바 스크립트를 사용하여 사용자가 입력 한 텍스트

  11. 11

    입력 클래스 이름에서 참조하는 자바 스크립트를 사용하여 입력 필드에서 값을 부정확하게 검색

  12. 12

    자바 스크립트를 사용하여 입력 필드 텍스트 상자에서 여러 단어 확인

  13. 13

    사용자가 입력 한 문자열이 자바 스크립트의 배열에 있는지 확인하는 방법은 무엇입니까?

  14. 14

    bash 스크립트의 오류에 대한 사용자 입력 확인

  15. 15

    자바 스크립트를 사용하여 JSON에 키 : 값 쌍 추가

  16. 16

    자바 스크립트를 사용하여 json 파일에 키와 값 추가

  17. 17

    사용자가 입력 한 이미지 수를 표시 하시겠습니까? 자바 스크립트

  18. 18

    자바 스크립트를 사용하여 양식 게시를 시뮬레이션하기위한 파일 입력 값 가져 오기

  19. 19

    체크 박스, 텍스트 상자에 값 추가 및 자바 스크립트를 사용하여 선택

  20. 20

    자바 스크립트를 사용하여 동적 텍스트 상자에서 사용자가 입력 한 값의 평균을 추가하고 가져옵니다.

  21. 21

    자바 스크립트가 증가하는 HTML 입력 태그 값 속성

  22. 22

    사용자가 로그인 한 경우에도 Firebase 자바 스크립트 인증 사용자가 null을 표시 함

  23. 23

    자바 스크립트를 사용하여 계산 된 숫자가 대화 형 보고서에 올바르게 표시되지 않음

  24. 24

    자바 스크립트를 사용하여 HTML 테이블의 여러 인덱스에 대한 검색 필드

  25. 25

    자바 스크립트를 사용하여 체크 박스에 대한 맞춤 속성 가져 오기

  26. 26

    자바 스크립트를 사용하여 변수의 값 확인

  27. 27

    자바 스크립트를 사용하여 파일 입력 대화 상자를 닫을 수 있습니까?

  28. 28

    자바 스크립트를 사용하여 할당 된 입력 필드 '값'을 가져올 수 없습니다.

  29. 29

    자바 스크립트를 사용하여 PHP 스크립트에서 대화식으로 데이터를 가져 오는 방법

뜨겁다태그

보관