2013-04-01 3 views
2

나는이 나는 사용자가 링크를 클릭하면) (불일치

enter image description here

을 window.history.back 테스트하는 데 사용하고 MVC보기에서 다음 코드 (빨간색으로 강조 표시된) 단락 태그 내에서 window.history.back()이 예상대로 실행됩니다. 해당 페이지에서 상태가 유지되는 이전 페이지로 돌아갑니다. 그러나 사용자가 단추를 클릭하면 동일한 동작을하지 않습니다. 현재보기가 다시로드되거나 적어도 현재 페이지를 다시로드하려고 시도합니다. 그러나 그것은 실패합니다. 그리고 jQuery가 실행되는지, 아니면 onClick 버튼 내에 window.history.back() 호출을 넣어도 똑같은 일이 발생합니다.

유용한 정보. 단추는 HTML.BeginForm 안에 있고 단락 태그의 줄은 없습니다.

왜 이런 일이 발생하는지 알고 계십니까?

+2

'제출'버튼으로 해석되지 않도록 'type = "버튼"을 추가하십시오. –

+0

@KevinB - 그게 다야! 내 부분에 대한 어리석은 감시. 이것을 답으로 만들면 받아 들일 것입니다. –

답변

7

브라우저가 단추를 제출 단추로 해석하고 양식을 제출하여 페이지를 새로 고칩니다. type="button"을 추가하면이를 방지 할 수 있습니다.

<button type="button">Cancel</button> 
+0

내 시간이 절약되었습니다. 고맙습니다. 그것은 나를 위해 양식의 내부에도 없었던 버튼을 위해 일어났습니다 :/ 이것은 완전히 고쳐줍니다. – MrPixelDream

3
$('#cancelButton').click(function(e){ 
    e.preventDefault(); 

    /* ... code ... */ 
});