자바스크립트 submit 문의

자바스크립트 submit 문의

QA

자바스크립트 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라는 변수가 언제 선언 되었고, 어떻게 초기화 되었고, 어떻게 바뀌고 있는가 인데요...

 

위의 내용을 생각하면서 지역변수, 전역변수 개념부터 찾아보시죠...

ox=0;
이렇게 한게 변수 선언한게 아닌가요?
저 위 소스 상으로 start 한뒤 stop하면 1  아니면 0 으로 ox값은 잘 동작하던데.. 혹시 아니면 알려주시면 감사하겠습니다.

올리신 내용 자세히 읽어보니 submit에 대한 것이네요.
제가 코드를 잘못 파악하고 가이드를 잘못 드렸네요.

ox==0인 부분에 return으로 되어져있는데 저 부분을 return false로 바꿔보세요.

if (ox < 1) {   <= 이렇게 바꿔서 해보세요

 

값이 정확히 찍힌다면 

비교를 못해서 조건문을 안타는거같습니다

 

위처럼 해도 안된다면 

 

let    ox= parseInt(0);

    if (ox==0) {

이렇게 형변환을 해서 해보세요

 

    if (ox==0) {

parseInt

나오는 메세지를 보면 분기는 잘 합니다.
그런데 ox==0일 경우 메세지 뿌린후 > 확인하면 > attendance_update.php 으로 넘어갑니다.

[code]
else {
    window.clearTimeout(Time);
    document.game.number.value=counter;
    document.game.submit();
    }
[code]

if문에 저 위 소스를 (else 부분) 몽땅 지워도 어김없이 attendance_update.php 으로 넘어갑니다.
그게 이상해서 문의 드린거구요..


document.game.submit();  이부분이 없으면 메세지 뿌리고 서브밋 못하는거 아닌가요?

분기는 타는데 바로 submit 가 되는거같네요

return;   ==> 
return false;

 

로 해보세요

http://파일.웹.한국     <-링크가 클릭하면 제대로 안가네요. 복사해서 주소창에 붙여 넣어야되네요 ㅜㅜ;

질문과 소스를 올려놨습니다.

봐주시면 감사하겠습니다.

 

자답입니다.

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

답변을 작성하시기 전에 로그인 해주세요.
전체 123,128 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT