채택완료

네이버스마트에디터

2014-05-29 (목) 21:45:52 8,511
a란 게시판에 글쓰기에는 기본적인 textarea 외에도 숨겨진 14개의 textarea가 있습니다.
네이버 스마트 에디터를 적용하면 기본textarea는 적용됩니다.
하지만 두번째 textarea부터가 문제입니다.
아래 자바스크립트 id문제인데......ir1~ir15 이렇게 적용할 방법이 없을까요?
숨겨진 textarea는 버튼 클릭시 보여지는 형식입니다 ㅡㅜ;;
아 포기해야하는건지...몇일째 고생이네요 ;;;;;
 
해당팁
 
자바적용부분
<?php if ($is_dhtml_editor) { ?>
<script type="text/javascript">
var oEditors = [];
nhn.husky.EZCreator.createInIFrame({
oAppRef: oEditors,
elPlaceHolder: "ir1",
sSkinURI: "<?=$g4[smart_path]?>/SmartEditor2Skin.html",
htParams : {bUseToolbar : true,
fOnBeforeUnload : function(){
//alert("아싸!");
}
}, //boolean
fOnAppLoad : function(){
//예제 코드
//oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
},
fCreator: "createSEditor2"
});

function pasteHTML() {
var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>";
oEditors.getById["ir1"].exec("PASTE_HTML", [sHTML]);
}

function showHTML() {
var sHTML = oEditors.getById["ir1"].getIR();
alert(sHTML);
}

function submitContents(elClickedObj) {
oEditors.getById["ir1"].exec("UPDATE_CONTENTS_FIELD", []); // 에디터의 내용이 textarea에 적용됩니다.

// 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다.

try {
elClickedObj.form.submit();
} catch(e) {}
}

function setDefaultFont() {
var sDefaultFont = '돋움';
var nFontSize = 24;
oEditors.getById["ir1"].setDefaultFont(sDefaultFont, nFontSize);
}
</script>
<?}?>
|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트
2014-05-29 (목) 23:31:33
자바스크립트 적용부분이 모두 각각 15번씩 돌아간다고 보시면 됩니다.

자바스크립트의 이해도가 있으시면

Copy
nhn.husky.EZCreator.createInIFrame({ oAppRef: oEditors, elPlaceHolder: "ir1", sSkinURI: "<?=$g4[smart_path]?>/SmartEditor2Skin.html",	htParams : {bUseToolbar : true, fOnBeforeUnload : function(){ //alert("아싸!");	} }, //boolean fOnAppLoad : function(){ //예제 코드 //oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]); }, fCreator: "createSEditor2" 
});

이부분만 15번 돌리고 

나머지부분은 변수형태로 처리를 하면됩니다. 

답변에 대한 댓글 2개

답 감사합니다..........php는 이제 이해도가 생긴정도고 자바는 아직 걸음마입니다 ;;;;;;;
죄송하지만 코드한번만 봐주세요 ;;;;;
1~15까지 선택하면 그에 따른 변수값만 바뀌게 하고 

아래 텍스트에어리어 부분은 그대로 두면 어떨까 합니다.

글을 쓰면 선택한 넘버값과 함께 서버에 전송될거라면 말이죠.
잘되기를 바랍니다 ㅎㅎ
Copy
<script language="javascript">  function show_leemocon(tabnum) {   var i;   var d = new Array(3);   var tm = document.getElementById("tab2").getElementsByTagName("li");   for(i=0; i<=14; i++) {    d[i] = document.getElementById("tabcontent"+i);    d[i].style.display = "none";    tm[i].className = "";   };      switch(tabnum) {    case 0:     d[0].style.display = "";    tm[0].className = "on";    break;    case 1:     d[1].style.display = "";    tm[1].className = "on";    break;    case 2:     d[2].style.display = "";    tm[2].className = "on";    break;    case 3:     d[3].style.display = "";    tm[3].className = "on";    break;    case 4:     d[4].style.display = "";    tm[4].className = "on";    break;    case 5:     d[5].style.display = "";    tm[5].className = "on";    break;    case 6:     d[6].style.display = "";    tm[6].className = "on";    break;    case 7:     d[7].style.display = "";    tm[7].className = "on";    break;    case 8:     d[8].style.display = "";    tm[8].className = "on";    break;    case 9:     d[9].style.display = "";    tm[9].className = "on";    break;    case 10:     d[10].style.display = "";    tm[10].className = "on";    break;    case 11:     d[11].style.display = "";    tm[11].className = "on";    break;    case 12:     d[12].style.display = "";    tm[12].className = "on";    break;    case 13:     d[13].style.display = "";    tm[13].className = "on";    break;    case 14:     d[14].style.display = "";    tm[14].className = "on";    break;   };  };
$(document).ready(function () { show_leemocon(0);
});
 </script>
<div class="wo"><div class="wle">목차번호</div><div class="wlee"> <div class="tab2" id="tab2">  <ul>  <li class="on"><a onClick="show_leemocon(0);" style="text-align:<?=$subta1?>;width:<?=$subsw1?>px;"><? if ($w == "u" && $write[wr_subject1]) {    $subject1 = cut_hangul_last(get_text($write[wr_subject1]));    $subject1 = cut_str($subject1, 35);   echo "1. ".$subject1; }else{ echo "1"; }?></a></li>  <li><a onClick="show_leemocon(1);" style="text-align:<?=$subta2?>;width:<?=$subsw2?>px;"><? if ($w == "u" && $write[wr_subject2]) {    $subject2 = cut_hangul_last(get_text($write[wr_subject2]));    $subject2 = cut_str($subject2, 35);   echo "2. ".$subject2; }else{ echo "2"; }?></a></li>  <li><a onClick="show_leemocon(2);" style="text-align:<?=$subta3?>;width:<?=$subsw3?>px;"><? if ($w == "u" && $write[wr_subject3]) {    $subject3 = cut_hangul_last(get_text($write[wr_subject3]));    $subject3 = cut_str($subject3, 35);   echo "3. ".$subject3; }else{ echo "3"; }?></a></li>  <li><a
<?php if ($is_dhtml_editor) { ?> <script type="text/javascript"> var oEditors = [];<? if ($bo_table=="mb2" || $bo_table=="mb3") {?> for(i=1; i<=15; i++) {nhn.husky.EZCreator.createInIFrame({  oAppRef: oEditors,  elPlaceHolder: "ir"+i,  sSkinURI: "<?=$g4[smart_path]?>/SmartEditor2Skin.html",  htParams : {bUseToolbar : true,  fOnBeforeUnload : function(){  //alert("아싸!");  }  }, //boolean  fOnAppLoad : function(){  //예제 코드 //oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);  }, fCreator: "createSEditor2" });} //forfunction pasteHTML() {  var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>";  oEditors.getById["ir1"].exec("PASTE_HTML", [sHTML]); } 
function showHTML() {  var sHTML = oEditors.getById["ir1"].getIR();  alert(sHTML); } 
function submitContents(elClickedObj) {  oEditors.getById["ir1"].exec("UPDATE_CONTENTS_FIELD", []); // 에디터의 내용이 textarea에 적용됩니다. 
 // 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다. 
try {  elClickedObj.form.submit();  } catch(e) {} } 
function setDefaultFont() {  var sDefaultFont = '돋움'; var nFontSize = 24;  oEditors.getById["ir1"].setDefaultFont(sDefaultFont, nFontSize); } <?}else{?>nhn.husky.EZCreator.createInIFrame({  oAppRef: oEditors,  elPlaceHolder: "ir1",  sSkinURI: "<?=$g4[smart_path]?>/SmartEditor2Skin.html",  htParams : {bUseToolbar : true,  fOnBeforeUnload : function(){  //alert("아싸!");  }  }, //boolean  fOnAppLoad : function(){  //예제 코드 //oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);  }, fCreator: "createSEditor2" }); 
function pasteHTML() {  var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>";  oEditors.getById["ir1"].exec("PASTE_HTML", [sHTML]); } 
function showHTML() {  var sHTML = oEditors.getById["ir1"].getIR();  alert(sHTML); } 
function submitContents(elClickedObj) {  oEditors.getById["ir1"].exec("UPDATE_CONTENTS_FIELD", []); // 에디터의 내용이 textarea에 적용됩니다. 
 // 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다. 
try {  elClickedObj.form.submit();  } catch(e) {} } 
function setDefaultFont() {  var sDefaultFont = '돋움'; var nFontSize = 24;  oEditors.getById["ir1"].setDefaultFont(sDefaultFont, nFontSize); } <?}?></script><?} //스마트에디터 자바 끝?>

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