혹시, INPUT 포커스 전 value 값을 임시로 특정변수에 담아두려면? 채택완료
https://sir.kr/qa/292026 질문의 연장선인데,
$('.bp').on('click focusin', function() {
this.value = '';
});
$('.bp').on('focusout', function() {
if(this.value == 0 || this.value == '') {
this.value = 0;
}
});
위 코드 경우,
입력창에 0 이상의 숫자 (예: 1000) 입력한 상태에서 다시 재수정을 위해 포커스를 줬다가
맘이 변해서 수정없이 포커스를 해제할 경우 1000이 사라지고 0이 입력되는데,
그대로 1000이 있게 하려 합니다.
입력한 value 값이 폼 액션링크 통해 전달되기 전의 휘발성 값이라
아무래도 포커스 찍을 때 현재 보유 중인 값을 임시변수에 먼저 담아두면 가능할까 싶어서
아래처럼 수정해봤는데... 안 되네요.
var bp = '';
$('.bp').on('click focusin', function() { bp = $('.bp').val(); <----현재값을 bp 변수에 임시로 담아두기 this.value = ''; }); $('.bp').on('focusout', function() { if(bp == 0 && (this.value ==0 || this.value == '')) { this.value = 0; } else if(bp > 0 && this.value == '') { <-- 수정없이 포커스 빠져나갈 때 this.value = bp; <-- 기존값 넣기 } });
답변 1개
$( "[name^='race']" ).on( "focus", function() { if (this.value == 0) this.value = ""; }) $( "[name^='race']" ).on( "focusout", function() { if (this.value == "") this.value = 0; })
답변에 대한 댓글 4개
수정위해 다시 커서 찍을 때는 비워졌다가 기존 입력값을 수정 없이 빠져나오면 기존 입력값이 다시 보이는 형태로 하려면 어떻게 해야 하는지?
정말 궁금했던 게,,,이거라....^^;
$( "[name^='race']" ).on( "focus", function() {
oldValue = this.value;
this.value = "";
})
$( "[name^='race']" ).on( "focusout", function() {
if (this.value == "") this.value = oldValue;
})
덕분에 오늘도 알찬 공부가 되었습니다. 정말 감사합니다. ^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
역시 슈와이 님, 감사합니다.