autosave.js 질문드립니다.
본문
여분필드도 같이 저장을 하고 싶어서 했는데 db에 저장은 되는데 불러오지를 못합니다.
왜그러는걸까요?
wr_1 , wr_2 , wr_3 이런식으로 계속 임시저장할려고 하거든요. 일단은 wr_1부터 테스트를 하는데 저장만 되고 불러오면 제목 , 내용만 불러옵니다.
// 임시 저장하는 시간을 초단위로 설정한다.
var AUTOSAVE_INTERVAL = 30; // 초
// 글의 제목과 내용을 바뀐 부분이 있는지 비교하기 위하여 저장해 놓는 변수
var save_wr_subject = null;
var save_wr_content = null;
var save_wr_1 = null;
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();
}
}
}
// 변수에 저장해 놓은 값과 다를 경우에만 임시 저장함
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;
}
});
}
$(function(){
if (g5_is_member) {
setInterval(autosave, AUTOSAVE_INTERVAL * 30);
}
// 임시저장된 글목록을 가져옴
$("#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();
}
});
// 임시저장된 글 제목과 내용을 가져와서 제목과 내용 입력박스에 노출해 줌
$(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);
}
}, "xml");
$("#autosave_pop").hide();
});
$(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();
}
});
});
$(".autosave_close").click(function(){ $("#autosave_pop").hide(); });
});
답변 2
1. ajax.autosaveload.php
의 호출 결과 확인해보세요.
2. 실제 값을 가져오는지 콘솔로그로 확인해보세요.
var wr_1 = $(data).find("item").find("wr_1").text(); // 81라인
console.log("wr_1 - 1 : "+ wr_1);
$("#fwrite #wr_1").val(wr_1); // 82 라인
console.log("wr_1 - 2 : "+ $("#wr_1").val());
3. 82라인의 $(
"#fwrite #wr_1"
).val(wr_1); 를 $(
"#wr_1"
).val(wr_1); 로 바꾸어보세요.
파트라슈님 오래전 글이라 보실지 모르겠지만, 여분필드 wr_1에 에디터 적용을 하고 임시저장이 잘 되나요?
전 님이 하신 방법과 에디터에서 js 파일 수정을 여러 방법을 했지만, 저장부터 되지 않아서요.
답변을 작성하시기 전에 로그인 해주세요.