자바스크립트 submit 문의
본문
<script src="<?php echo G5_JS_URL;?>/sideview.js"></script>
<script LANGUAGE="JavaScript">
function Title() {document.title="STOP ON 1o0 By Nolan Gendron"; window.setTimeout("Title1();",1);}
function Title1() {document.title="STOP ON 10o By Nolan Gendron"; window.setTimeout("Title();",1);}
counter=0;
ox=0;
function Counter1() {
window.status="Counter: " + counter;
document.game.number.value=counter;
counter++;
Time=window.setTimeout("Counter1();",1);
if (counter==201) {
counter=0;
}
ox=1;
}
function Results() {
if (ox==0) {
alert("정상적인 방법으로 이용해주세요.");
location.href='<?=G5_BBS_URL.'/login.php'?>';
return;
} else {
window.clearTimeout(Time);
document.game.number.value=counter;
document.game.submit();
}
}
</script>
<font style="font-size: 1.2em;">
<center>
<form name="game" action="attendance_update.php" method="post">
<input type="hidden" name="point" VALUE="<?php echo $game_point;?>">
<input type="hidden" name="rank1" VALUE="<?php echo $rank1;?>">
<input type="hidden" name="rank2" VALUE="<?php echo $rank2;?>">
<input type="hidden" name="rank3" VALUE="<?php echo $rank3;?>">
<input type="hidden" name="rank4" VALUE="<?php echo $rank4;?>">
<input type="hidden" name="range1" VALUE="<?php echo $game_range1;?>">
<input type="hidden" name="range2" VALUE="<?php echo $game_range2;?>">
<input type="hidden" name="range3" VALUE="<?php echo $game_range3;?>">
<input type="hidden" name="minus" VALUE="<?php echo $game_minus;?>">
<img src="모래.gif" style="width: 100px">
<div class="" style="width:300px">
<div><input class="" type="text" border=0 name="number" VALUE="0" onFocus="this.blur();" style="border-width : 10px; border-style : solid; border-color : <?=$c?>; font-size: 5rem;width:170px;text-align:center"></div>
</div>
<br><br>
<img id="Start" src="./img/start.png" onClick="Counter1(); counter=0; " style="width: 70px; margin: 10px 10px">
<input type=image id="Stop" src="./img/stop.png" onClick="Results(); counter=0;" style="width: 70px; margin: 10px 10px">
</center>
</form>
위 코드에서 start 버튼 안누르고 stop 눌렀을경우
if (ox==0) {
alert("정상적인 방법으로 이용해주세요.");
location.href='<?=G5_BBS_URL.'/login.php'?>';
return;
얼럿띄우고 메인페이지로 빠져 나가는거 같은데
실제로는 얼럿띄운다음 attendance_update.php 으로 넘어갑니다.
else {
window.clearTimeout(Time);
document.game.number.value=counter;
document.game.submit();
}
이부분을 지워도 어김없이 attendance_update.php 으로 넘어갑니다.
ox==0 일경우 얼럿 띄우고 메인으로 빠져 나가려면 어떻게 해야하나요.
!-->
답변 6
let counter=0;
let ox=0;
선언 이렇게 하시고
function Results() {
alert(ox);
if (ox==0) {
alert("정상적인 방법으로 이용해주세요.");
location.href='<?=G5_BBS_URL.'/login.php'?>';
return;
} else {
window.clearTimeout(Time);
document.game.number.value=counter;
document.game.submit();
}
}
이런식으로 alert 창 띄워서 어떤값이 나오는지 확인해보세요
저기에서 포인트는 ox라는 변수가 언제 선언 되었고, 어떻게 초기화 되었고, 어떻게 바뀌고 있는가 인데요...
위의 내용을 생각하면서 지역변수, 전역변수 개념부터 찾아보시죠...
if (ox < 1) { <= 이렇게 바꿔서 해보세요
값이 정확히 찍힌다면
비교를 못해서 조건문을 안타는거같습니다
위처럼 해도 안된다면
let ox=
parseInt(0);
if (ox==0) {
이렇게 형변환을 해서 해보세요
if (ox==0) {
parseInt
분기는 타는데 바로 submit 가 되는거같네요
return; ==>
return false;
로 해보세요
자답입니다.
www.phpschool.com 에 문의해보니 "input type=image 는 input type=submit 등 과 같다. " 라고 해서
검색해보니 <input type="image">는 submit 을 무조건 발생시킨다고 합니다. (https://blog.daum.net/happy_virus_factory/51 )
해결방법 : https://blog.opid.kr/146