2014-01-16 1 views
0

어제이 페이지에서 작업하고 있었고 JQuery에서 이상한 동작을 발견했습니다. 아래 양식의 경우 페이지에서 결과를 올바르게로드 한 다음 나중에 몇 초를 기본 상태로 새로 고칩니다. JQuery - <button>을 사용할 때 페이지가 재설정되지만 <input type = "button"으로 잘 작동합니다.

나는 또한 내가

$('#validateScore').on('click', function(){ 
    var scoreInput = Number($("#score").val()); 

... 
... 
... 

if(tempScore != scoreInput){ 
    $("#answer").html("<p id='#result'>Invalid Score</p>"); 
} 
    else{ 
     $("#answer").html("<p id='#result'>Valid Score</p>"); 
    } 
}); 

가이 어떤 종류인가 (크기를 저장하기 위해 몸을 제거) JQuery와 버전 1.10.2

<form id="scoreCheck"> 
    <p> 
     <label for="score">Score:</label> 
     <input type="text" id="score" /> 
    </p> 
    <p> 
     <input type="button" id="validateScore" value="Check it" /> 
    </p> 
    <p id="answer">The result will go here when the button is pressed.</p> 
</form> 

그리고 JS/JQuery와 기능을 사용하고주의해야한다 버그 또는 단추 요소와 상호 작용할 때 JQuery를 잘못 사용 했습니까? 감사!

+0

jquery의 더 새로운 버전을 사용하고 있습니다 옵션이 아닌가요? –

+0

모든 코드를 볼 수 있도록 바이올린을 만듭니다. jsfiddle.net – Anup

+0

다음은 JSFiddle 링크입니다. http://jsfiddle.net/JLMkr/ – NoahLE

답변

1

이 일어나는 것을 중지해야합니다

$('#validateScore').on('click', function(e){ 
    e.preventDefault(); 
    var scoreInput = Number($("#score").val()); 
+0

btn의 기본값은 무엇입니까? – Anup

+0

이 질문의 경우 양식을 제출하고 양식 제출 페이지로 이동하십시오. preventDefault()는 버튼과 앵커가 페이지를 다시로드하지 못하게합니다. 여기 jQuery 워드 프로세서가 있습니다 : http://api.jquery.com/event.preventdefault/ – pathfinder

0

버튼이 양식 내에있는 경우 기본 비헤이비어는 submit입니다. 그리고 유형을 지정하면 정상적인 버튼처럼 동작합니다.

0

u는 입력 형식을 사용할 때 이유는 뒤에 = '버튼'은 =하여 입력 유형에서 그것을 diffrentiating하는, 일을 '제출'것을 볼 수있는 예 : < 버튼>이 기본 동작은 양식 내부에 < 버튼 또는 입력 유형 = 제출 버튼을 사용하여 수행하려면이 기본 동작을 방지해야합니다.

http://api.jquery.com/event.preventdefault/

+0

감사합니다. – NoahLE

관련 문제