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

autosave.js 질문드립니다. 채택완료

여분필드도 같이 저장을 하고 싶어서 했는데 db에 저장은 되는데 불러오지를 못합니다.

왜그러는걸까요?

 

wr_1 , wr_2 , wr_3 이런식으로 계속 임시저장할려고 하거든요. 일단은 wr_1부터 테스트를 하는데 저장만 되고 불러오면 제목 , 내용만 불러옵니다.

 

 

</p>

<p>// 임시 저장하는 시간을 초단위로 설정한다.

var AUTOSAVE_INTERVAL = 30; // 초</p>

<p>// 글의 제목과 내용을 바뀐 부분이 있는지 비교하기 위하여 저장해 놓는 변수

var save_wr_subject = null;

var save_wr_content = null;

var save_wr_1 = null;</p>

<p>function autosave() {

    $("form#fwrite").each(function() {

        if(g5_editor != "") {

            if (g5_editor.indexOf("ckeditor4") != -1 && typeof(CKEDITOR.instances.wr_content)!="undefined") {

                this.wr_content.value = CKEDITOR.instances.wr_content.getData();

            } else if (g5_editor.indexOf("cheditor5") != -1 && typeof(ed_wr_content)!="undefined") {

                this.wr_content.value = ed_wr_content.outputBodyHTML();

            } else {

                if(typeof get_editor_wr_content == "function") {

                    this.wr_content.value = get_editor_wr_content();

                }

            }

        }</p>

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

        if (save_wr_subject != this.wr_subject.value || save_wr_content || save_wr_1 != 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,

                    "wr_1": this.wr_1.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;

            save_wr_1 = this.wr_1.value;

        }

    });

}</p>

<p>$(function(){</p>

<p>    if (g5_is_member) {

        setInterval(autosave, AUTOSAVE_INTERVAL * 30);

    }</p>

<p>    // 임시저장된 글목록을 가져옴

    $("#btn_autosave").click(function(){

        if ($("#autosave_pop").is(":hidden")) {

            $.get(g5_bbs_url+"/ajax.autosavelist.php", function(data){

                //alert(data);

                //console.log( "Data: " + data);

                $("#autosave_pop ul").empty();

                if ($(data).find("list").find("item").length > 0) {

                    $(data).find("list").find("item").each(function(i) {

                        var id = $(this).find("id").text();

                        var uid = $(this).find("uid").text();

                        var subject = $(this).find("subject").text();  

                        var datetime = $(this).find("datetime").text();

                        $("#autosave_pop ul")

                            .append('<li><a href="#none" class="autosave_load">'+subject+'</a><span>'+datetime+' <button type="button" class="autosave_del">삭제</button></span></li>')

                            .find("li:eq("+i+")")

                            .data({ as_id: id, uid: uid });

                    });

                }

            }, "xml");

            $("#autosave_pop").show();

        } else {

            $("#autosave_pop").hide();

        }

    });</p>

<p>    // 임시저장된 글 제목과 내용을 가져와서 제목과 내용 입력박스에 노출해 줌

    $(document).on( "click", ".autosave_load", function(){

        var $li = $(this).parents("li");

        var as_id = $li.data("as_id");

        var as_uid = $li.data("uid");   

        $("#fwrite input[name='uid']").val(as_uid); 

        $.get(g5_bbs_url+"/ajax.autosaveload.php", {"as_id":as_id}, function(data){

            var subject = $(data).find("item").find("subject").text();

            var content = $(data).find("item").find("content").text();

            var wr_1 = $(data).find("item").find("wr_1").text();

              $("#fwrite #wr_1").val(wr_1); 

             $("#wr_subject").val(subject); 

            if(g5_editor != "") {

                if (g5_editor.indexOf("ckeditor4") != -1 && typeof(CKEDITOR.instances.wr_content)!="undefined") {

                    CKEDITOR.instances.wr_content.setData(content);

                } else if (g5_editor.indexOf("cheditor5") != -1 && typeof(ed_wr_content)!="undefined") {

                    ed_wr_content.putContents(content);

                } else {

                    if(typeof put_editor_wr_content == "function") {

                        put_editor_wr_content(content);

                    }

                }

            } else {

                $("#fwrite #wr_content").val(content); 

            }

 </p>

<p>        }, "xml");

        $("#autosave_pop").hide();

    });</p>

<p>    $(document).on( "click", ".autosave_del", function(){

        var $li = $(this).parents("li");

        var as_id = $li.data("as_id");

        $.get(g5_bbs_url+"/ajax.autosavedel.php", {"as_id":as_id}, function(data){

            if (data == -1) {

                alert("임시 저장된글을 삭제중에 오류가 발생하였습니다.");

            } else {

                $("#autosave_count").html(data);

                $li.remove();

            }

        });

    });</p>

<p>    $(".autosave_close").click(function(){ $("#autosave_pop").hide(); });

});

 </p>

<p>

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

답변 2개

채택된 답변
+20 포인트

1. ajax.autosaveload.php 의 호출 결과 확인해보세요.

  

 

2. 실제 값을 가져오는지 콘솔로그로 확인해보세요.

</p>

<p><code class="keyword">var</code> <code class="plain">wr_1 = $(data).find(</code><code class="string">"item"</code><code class="plain">).find(</code><code class="string">"wr_1"</code><code class="plain">).text();  // 81라인</code></p>

<p><code class="plain">                            console.log("wr_1 - 1 : "+ wr_1);</code></p>

<p><code class="plain">$(</code><code class="string">"#fwrite #wr_1"</code><code class="plain">).val(wr_1);  // 82 라인</code></p>

<p><code class="plain">                            console.log("wr_1 - 2 : "+ $("#wr_1").val());</code></p>

<p>

 

3. 82라인의 $("#fwrite #wr_1").val(wr_1); 를 $("#wr_1").val(wr_1); 로 바꾸어보세요.

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

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

https://sir.kr/bbs/profile.php?mb_id=reindeer5" onclick="return false;" rel="nofollow" target="_blank" title="파트라슈님 자기소개">파트라슈님 오래전 글이라 보실지 모르겠지만, 여분필드 wr_1에 에디터 적용을 하고 임시저장이 잘 되나요?

전 님이 하신 방법과 에디터에서 js 파일 수정을 여러 방법을 했지만, 저장부터 되지 않아서요.

 

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

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

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

로그인

전체 질문 목록

🐛 버그신고