테스트 사이트 - 개발 중인 베타 버전입니다

임시 저장 기능을 버튼으로 만들려고 합니다. 채택완료

oneit 3년 전 조회 1,838

그누보드를 보면 임시 저장된 글 기능이 있습니다.

/js/autosave.js 파일에서 60초 정도 있다가 자동으로 임시 저장 되는 것으로 알고 있습니다.

이 기능을 버튼으로 만들어서 클릭 시 저장 되게 하려면 어떻게 해야 할까요?

 

autosave가 자동으로 실행이 되어서 링크를 걸어야 하는지 아니면 함수 불러오는것을 해야하는지 문의 드립니다.

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

답변 2개

채택된 답변
+20 포인트
X
3년 전

autosave.js 속에 힌트가 있는것같네요

autosave() 함수 속에 있는 아래 코드를 버튼 클릭시에 작동되도록 하면될것같습니다

db 와 js 원본파일 꼭 백업하시고서 시도해보시길..

 

</p>

<p>// 변수에 저장해 놓은 값과 다를 경우에만 임시 저장함

        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;

        }</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

o
oneit
3년 전
답변감사합니다.
저도 해당 부분 함수를 불러와서 사용하려고 하는데요. autosave() 함수를 실행시키게 하려고 하니
함수가 autosace.js에 있어서 어떻게 불러와야 하는지 궁금합니다.
위치가 글작성 코드에 있는게 아니라 /js/autosave.js에 위치해 있어서 외부 파일에 있는 함수를 가져와서 실행을 해야 하는데 외부 함수는 어떻게 실행을 시키는지 문의드립니다.
<button onclick="autosave();"> 이렇게 하려고 합니다.

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

X
3년 전

autosave.js 의 함수는 그누보드 전역에 실행되고 있구요

 

function autosave() 내용을 카피하여

function forcesave() 를 추가로 선언하여 사용하는게 좋을듯 싶습니다.

 

autosave() 선언이 종료되고 다음 함수에서 setInterval 로 시간간격당 실행문이 있기때문에

autosave.js 자체에 새로운 함수 추가가 좋으실 것 같다 이야기드리는거구요,

에러를 줄이기 위해서 setInterval(autosave, ) 이후에 실행될 수 있도록

50번줄 // 임시저장된 글목록을 가져옴

이전에 선언되는것이 좋을것같아서 방향을 이야기드린것입니다.

 

동작에 필요한 선언문은 상위에 다 있으니 실행시점만 추가해주시면 되는거라

함수의 동작 시점을 onclick 으로 변경처리하시고

소스 내용은 autosave() 내의 ajax POST 실행문을 그대로 사용하셔도 될것같습니다.

</p>

<p>   $('#forceSave').click(function(){</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

o
oneit
3년 전
감사합니다.^^ 문제 해결에 많은 도움이 되었습니다.

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

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

로그인