임시 저장 기능을 버튼으로 만들려고 합니다.
본문
그누보드를 보면 임시 저장된 글 기능이 있습니다.
/js/autosave.js 파일에서 60초 정도 있다가 자동으로 임시 저장 되는 것으로 알고 있습니다.
이 기능을 버튼으로 만들어서 클릭 시 저장 되게 하려면 어떻게 해야 할까요?
autosave가 자동으로 실행이 되어서 링크를 걸어야 하는지 아니면 함수 불러오는것을 해야하는지 문의 드립니다.
답변 2
autosave.js 속에 힌트가 있는것같네요
autosave() 함수 속에 있는 아래 코드를 버튼 클릭시에 작동되도록 하면될것같습니다
db 와 js 원본파일 꼭 백업하시고서 시도해보시길..
// 변수에 저장해 놓은 값과 다를 경우에만 임시 저장함
if (save_wr_subject != this.wr_subject.value || save_wr_content != this.wr_content.value) {
$.ajax({
url: g5_bbs_url+"/ajax.autosave.php",
data: {
"uid" : this.uid.value,
"subject": this.wr_subject.value,
"content": this.wr_content.value
},
type: "POST",
success: function(data){
if (data) {
$("#autosave_count").html(data);
}
}
});
save_wr_subject = this.wr_subject.value;
save_wr_content = this.wr_content.value;
}
autosave.js 의 함수는 그누보드 전역에 실행되고 있구요
function autosave() 내용을 카피하여
function forcesave() 를 추가로 선언하여 사용하는게 좋을듯 싶습니다.
autosave() 선언이 종료되고 다음 함수에서 setInterval 로 시간간격당 실행문이 있기때문에
autosave.js 자체에 새로운 함수 추가가 좋으실 것 같다 이야기드리는거구요,
에러를 줄이기 위해서 setInterval(autosave, ) 이후에 실행될 수 있도록
50번줄 // 임시저장된 글목록을 가져옴
이전에 선언되는것이 좋을것같아서 방향을 이야기드린것입니다.
동작에 필요한 선언문은 상위에 다 있으니 실행시점만 추가해주시면 되는거라
함수의 동작 시점을 onclick 으로 변경처리하시고
소스 내용은 autosave() 내의 ajax POST 실행문을 그대로 사용하셔도 될것같습니다.
$('#forceSave').click(function(){
!-->
답변을 작성하시기 전에 로그인 해주세요.