제이쿼리 자동입력에 관해서....2
관련링크
본문
A필드 (wr_1)
B필드 (wr_2)
C필드 (wr_3) X 1000 = D필드 (wr_4)
A와 B를 곱해서 C필드에 넣은 후, C필드 값에 1000을 곱해서 D필드에 넣는 구조인데,
사용자가 임의로 C필드 값을 임의로 변경 못 하게 하려면 어떻게 처리를 하는지?
혹, 참고할만한 함수나 속성 있을까요?
현재, C필드 값은 슈와이 님께서 알려주신 방법을 이용해 계산해 넣고 있습니다.
답변 5
<input type="text" name="wr_3" id="wr_3" readonly value="<?php echo $wr_3?>" />
으로 하시거나
<input type="hidden" name="wr_3" id="wr_3"value="<?php echo $wr_3?>" />
으로 하시거나
<span id="wr3"><?php echo $wr_3?></span>
<input type="hidden" name="wr_3" id="wr_3"value="<?php echo $wr_3?>" />
...
<script>
$('#wr_1, #wr_2').on('change', function() {
$('#wr_3').val( Number($('#wr_1').val()) * Number($('#wr_2').val()) )
$('#wr3').text($('#wr_3').val()); // 이걸 추가해 놓으면 입력폼이 아니라서 무난하실겁니다.
});
</script>
readonly를 붙여주면 되지 않을까요?
인풋에서 입력을 못하게 하는거면 그런식으로 하시면 될거 같고 아니면은
최종 점검할때 C필드가 A와B의 곱의 값이 맞는지 확인 하시면 될거 같습니다.
고민하시는 부분은 단지 뷰(view) 에 불과한 부분 같습니다.
우선은
wr_1, wr_2 가 폼 전송이 되어 서버단으로 넘어갔을 때
wr_1, wr_2 에 대한 숫자 검증처리 및 나머지 연산이 올바로 되도록
하는것이 먼저일것 같고
뷰단은
input readonly 이던지, span 이던지
구현하기 나름인것 같습니다.
어차피 클라이언트 사이드에서는 값 조작이 얼마든지 가능하니까요.
A필드 (wr_1) = 시작날짜: 2017-09-15
B필드 (wr_2) = 마감날짜: 2017-09-30
C필드 (wr_3 예: 기간 = 15일) X 1000 = D필드 (wr_4 예: 15000 = 15 X 1000)
예를 들어, 글쓰기 모드에서, A,B 필드를 각각 datepicker 이용해 날짜를 입력받아요.
그 날짜간 차이를 자동으로 계산해 C필드 (wr_3) 넣는 방식이거든요.
그런데, 글쓴이가 쓰기모드에서 C필드 값을 임의로 변경하면 안 되는거라... ^^
그래서, C필드 값을 글쓰기 모드에서 무조건 자동 계산값만 입력되게 하려고 하는 겁니다.
관심 갖고 답변해주신 분들 모두 감사합니다.
좋은 하루 되세요 !!