묻고답하기
자바스크립트 깨짐?
2016.03.04 15:43
board의 skin 중 xedition을 수정해서
1) 리스트에서 직접 게시글을 쓸 수 있게 함
2) 리스트에 각 게시글과 그 댓글의 내용이 출력되도록 함
3) 리스트에서 직접 각 게시글의 댓글을 쓸 수 있게 함
이렇게 할 수 있도록 했는데요.
어쩌다 list.html을 수정하니까 갑자기 submit 버튼을 눌러도 페이지 새로고침이 안되네요..ㅠㅠ
(구체적으로 뭘 수정해서 갑자기 이렇게 된 건지는 모름)
구체적으로는 다음과 같은 현상이 일어납니다..
1) 리스트에서 게시글을 쓸 때에는 submit 버튼을 누르면 새로고침이 잘 됨
2) 게시글에 댓글을 입력하면 submit 버튼을 눌러도 페이지가 새로고침이 안 돼서 댓글이 잘 올라갔는지 확인하려면 직접 f5를 눌러야 확인할 수 있음
3) 게시글이나 그 댓글을 수정하거나 삭제하려고 수정 또는 삭제 버튼을 누르면 새로운 페이지가 뜨게 돼있는데, 여기서 수정 또는 삭제 버튼을 눌러도 마찬가지로 이전 페이지로 페이지가 저절로 넘어가지 않음
자바스크립트가 깨져서 그런가 확인해보려고 alert('1');을 여기저기 넣어봤는데, 진짜로 자바스크립트가 깨졌는지 페이지 중 어디에 넣어도 alert가 안 뜨네요.
근데 임기응변으로 제가 모든 submit 버튼에 onclick="location.reload()" 또는 "history.back()"을 넣었는데 이러면 작동하고요. (form 안의 onsubmit 안에 넣으면 새로고침 안됨)
일단 이런 방법으로 해결을 하기는 했는데, 근데 이번엔 랜덤한 확률로 댓글이 안 올라간 상태에서 새로고침을 하는 경우가 발생하네요..ㅋㅋㅋㅋ(댓글이 올라가긴 하는데, 새로고침은 조금 뒤에 해야 올라간 댓글이 보이는. 이 문제는 setTimeout으로도 해결이 안 되네요)
뭐 당장은 이렇게 쓸 수밖에 없으니 쓰긴 하겠다만.. 혹시 이 이유를 아시는 분 계신가요..?ㅠㅠ
혹시
e.preventDefault();
가 있는것 아닌가요? 그리고 리스트에서 화면 전환없이 ajax등을 써서 본문이라던지 댓글등을 가져오셨으면.. 등록했을때도 ajax 써서 넣어야겠죠. 가져오는것만 해서는 안됩니다.