채택완료

ajax로 넘긴 후 화면이 맨 위로 이동됩니다 안되게 하는법 있나요?

2020-10-28 (수) 19:46:24 2,608
ajax로 form 데이터를 디비로 넘길때 페이지 이동없이 넘기려고 하는데 데이터값은 정상으로 넘어가는걸 확인했습니다
그런데 데이터가 넘어가고 보이는 화면 그대로 있는게 아니라 맨 위로 올라갑니다
페이지 이동뿐 아니라 화면이동도 없이 그자리에서 새로고침만 되게 하고 싶은건데 추가로 코드를 입력해야 되는건가요??

# 은 사용 안했어요


<form enctype="multipart/form-data" id="form" name="form" method="post" onsubmit="return form_Check();">
<button class="btn_03">신청하기</button>

<script>
function form_Check(){
   if(form.wr_name.value == ''){
      alert("이름을 입력해주세요");
      form.wr_name.focus();
      return false;
   } else {

 $.ajax({ 
url: '/form_send.php', 
type: 'POST', 
data: $('#form').serialize(), 
success: function (data) { 
alert("전송되었습니다"); 
} 
});
   form.submit();
};
</script>
|

답변 4개 / 댓글 5개

채택된 답변
+20 포인트
2020-10-28 (수) 20:48:54
Copy
<form enctype="multipart/form-data" id="form" name="form" method="post">

...
<button class="btn_03" type="button" onclick="form_Check()">신청하기</button>

</form>

 

<script>
function form_Check(){

    var f = document.forms[0];
    
    if (f.wr_name.value == ''){
        alert("이름을 입력해주세요");
        f.wr_name.focus();
        return false;
        
    } else {
        $.ajax({ 
            url: '/form_send.php', 
            type: 'POST', 
            data: $('#form').serialize(), 
            success: function (data) { 
                alert("전송되었습니다"); 
            } 
        });
        //f.submit();
    }
}
</script>

답변에 대한 댓글 3개

답변 감사합니다
그런데 이렇게하니 위로 올라가진 않지만 새로고침도 안되네요... 전 그 상태에서 새로고침만 되게 하고 싶어서요
2020-10-29 (목) 15:33:48
success: function (data) {
alert("전송되었습니다");
f.reset();
}
감사합니다~ 해결했어요 ㅠㅠ

아이고야........그러신가요? 

아 button 을 div로 바꿔보시고.

e.preventDefault() 이거한번 보세요 

return false; 해주세요 ...............

답변에 대한 댓글 1개

답변 감사합니다
form.submit(); 밑에 return false; 해줬는데도 똑같이 올라가요,...
form.submit(); 삭제후 시도해 보세요.

답변에 대한 댓글 1개

답변 감사합니다
form.submit(); 삭제후 해봤는데도 위로 올라가네요...

답변을 작성하려면 로그인이 필요합니다.