2012-03-01 2 views
0

몇 가지 jQuery/JavaScript 이벤트/메소드를 실행 중이며 잠시 동안 만 작업하면 전체 문서가 이전 콘텐츠로 다시 돌아갑니다. 어째서?jQuery 메서드가 영구적이지 않습니까?

<html> 
    <head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
     //jquery 
     $("#f").submit(function(){ 
      $("h3").toggle(); 
      //alert("hello"); 
     }); 
     $("button").click(function(){ 
      alert("ZZZZZ"); 
     }); 
     }); 
    </script> 
    <title>Catalog Nova Grup</title> 
    </head> 
    <body> 
    <center> 
     <h3 style="color:#00F">Catalog Nova Grup</h3> 
    </center> 
    <form id="f"> 
     <select id="s1"> 
     <option>---</option> 
     <option>ZZZ</option> 
     </select> 
     <select id="s2"></select> 
     <select id="s3"></select> 
     <input type="submit" id="sb" /> 
    </form> 
    <button>ZZZ</button> 
    </body> 
</html> 
+0

일부 html 및 js 코드를 게시하십시오. –

답변

3

당신은 아마 e이 이벤트 핸들러에 전달되는 이벤트 객체이고 두 이벤트 핸들러에서 return false 또는 e.preventDefault()을 사용해야합니다. 예를 들어

하는 <form> 요소에 부착 된 submit 핸들러에서 당신이 중 하나를 수행해야합니다

$("#f").submit(function() { 
    //do your stuff 

    return false //stop browser following link 
}); 

나 :

$("#f").submit(function(e) { 
    e.preventDefault(); //stop browser following link 

    //do your stuff 
}); 

는 편집 : 무슨 일 는 브라우저가 제출된다 양식은 기본적으로 페이지를 다시로드합니다.

2

양식을 제출하기 때문에 return false;으로 그 양식을 중지하십시오. 또는 익명 함수 제출에 매개 변수를 추가하고 .preventDefault()으로 전화하십시오.

$(document).ready(function() { 
    //jquery      
    $("#f").submit(function() { 
     $("h3").toggle(); 
     //alert("hello"); 
     return false; 
    }); 
    $("button").click(function() { 
     alert("ZZZZZ"); 
    }); 
}); 
관련 문제