input 값 실시간 체크
본문
안녕하세요 질문 드립니다.
영카트 주문서 작성에서요
우편번호 창에서 주소를 클릭해서 주소 input에 주소가 들어가든지
주문자와 동일을 클릭했을때 주소 input에 주소가 들어가는데
그때 input에 들어간 주소값을 체크해서 어떤 작업을 하고자 하는데
직접 주소 input을 클릭해서 작성을 하는게 아니라.. 이럴땐 어떤 이벤트를 써야 실시간으로 감지 할까요?
on 이나 onchange change keyup 등등 왠만한건 다 사용해봤는데 직접 input에 포커스가 가지 않아서 작동을 안하거든요
해결책이 무엇일까요~?
input에 끼워넣기 방식인 지금상황에서 들어가는 value 값 체크를 어떻게 실시간으로 감지 할지 ..
답변 7
$(document).on('change', '#input_id', function() {
});
으로 한번 시도해 볼 수 있을 것 같습니다.
에휴 이것도 안되네요~...
JavaScript에서 HTML의 문서 이벤트로 감지되는건
Event 핸들러 입니다.
이벤트 핸들러는 브라우저마다 다 가지고 있는것이고
그것을 캐치해서 작동하게 하는 방법들의 원론적인것은
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
여기의 내용이 자세히 나와있구요
이것을 웅용해서 하는방법들이
jQuery를 사용한다거나 하는 등등입니다.
jquery를 사용한다면
$("input name=이벤트잡을대상명").change(function() {
//처리할방법
});
로 가능하구요
위에 마르스컴퍼니 님 언급하신방법도 가능합니다.
포커스가 없는 상태에서 on이벤트는 발생안할것 같은데요
그래도 input을 상태에 따라서 작업을 해야된다면 타이머을 이용해야될것같은데요
1. 페이지 로딩 완료후 초기 인풋값 조회후 저장
2. 주소찾기 및 주문자와 동일 클릭 이벤트 발생시 변수나 히든 form 으로 상태저장
3. 반복타이머 작동 시키면서 초기값과 비교 및 2번 예외처리
4. 전송시 한번더 체크
좋은정보 얻어갑니다.
new daum.Postcode({
oncomplete: function(data) {
$("#address").val(data.address);
},
onclose: function(state) {
if(state === 'COMPLETE_CLOSE') {
alert($("#address").val());
}
}
}).open();
다음 주소에서 주소 검색 후에는 위처럼 onclose 콜백 함수로 체크가 가능하니 위처럼 주소의 값을 갖고 와서 무언가를 실행하시면 되지 않을까요?
!-->