자바스크립트 질문이요!!
본문
<input type="text" id="num_1">
<input type="text" id="num_2">
<button onclick="btn()">클릭</button>
<script>
function btn() {
var num1 = document.getElementById('num_1').value;
var num2 = document.getElementById('num'_2).value;
if (num1 < 10) {
alert("10보다 큰 수를 입력하시오");
window.location.reload();
}
if (num2 < 20){
alert("20보다 큰 수를 입력하시오");
window.loaction.reload();
}
var result = num1 + num2;
document.write(result);
}
</script>
num1에서는 10보다 큰수를 입력해야되고 num2는 20보다 큰수를 입력해야하는데 이게 조건에 충족하지 못해서 그냥 계산돼서 나오드라구요... 조건에 충족하지 못하면 reload해서 다시 입력하게 하고 싶은데 그대로 출력되서 어떻게 해야하나요?
답변 3
1, 입력을 받을때 무조건 문자열입니다.
정수로 변경해야합니다.
2. return 값을 주어서 더이상 실행이 안되게 해주는 부분 추가되었습니다.
<script>
function btn() {
var num1 = document.getElementById('num_1').value;
num1 = Number(num1);
var num2 = document.getElementById('num_2').value;
num2 = Number(num2);
if (num1 < 10) {
alert("10보다 큰 수를 입력하시오");
window.location.reload();
return;
}
if (num2 < 20){
alert("20보다 큰 수를 입력하시오");
window.loaction.reload();
return;
}
var result = num1 + num2;
document.write(result);
}
</script>
value가 string으로 넘어 오면. parseInt로 감싸서 해보세요