글쓰기 분류에 따라 에디터 hide, show
본문
분류명에 따라 입력값을 바꿔야 합니다.
예로 생산기술|포장기술 2개의 분류가 존재시, 생산기술에서는 확장필드와 파일만 입력하고,
포장기술 선택시 내용만 입력해야 합니다.
문제는 스마트에디터가 완전히 로드되지 않은 상태에서 hide 시켜 버리면, 스마트에디터를 불러오는 iframe의
높이가 0이 되어 버립니다.
display none 도 하위로 상속되어 버리네요..
아래처럼 hide를 윈도우 로드 후, 아이프레임이 완전히 로드할 수 있는 시간동안 hide 주니 정상적으로 작동되는데,
시간 지연 없이 주는 방법이 없을까요?(display none, block 는 하위 상속으로 하위 모든 엘리먼트가 none 이후
회복이 안되네요..)
<div id="upload-wrap" class="row">
파일업로드 및 확장필드 입력 코드
</div>
<div id="content-wrap" class="row">
내용 입력(스마트에디터 출력) 코드
</div>
$(document).ready(function(){
});
if($(this).val() == '포장기술'){
$('#content-wrap').show();
$('#upload-wrap').hide();
} else {
$('#content-wrap').hide(500);
$('#upload-wrap').show();
}
});
});
$(window).load( function(){
$('#content-wrap').hide(500);
$('#upload-wrap').show();
});
답변 1
자답입니다.
밤 꼴딱 새고.. 이제야 찾았네요 ㅠㅠ
아이프레임에 높이 값을 강제로 지정하는 방법을 사용했습니다.
iframe 에 id 속성을 넣기 위해 js/HuskyEZCreator.js 파일을 열어 아래와 같이 수정합니다.
}
elIFrame = document.createElement("<IFRAME frameborder=0 scrolling=no id='" + elPlaceHolder.id + "-iframe'>");
}catch(e){
elIFrame = document.createElement("IFRAME");
elIFrame.setAttribute("frameborder", "0");
elIFrame.setAttribute("scrolling", "no");
elIFrame.setAttribute("id", elPlaceHolder.id + '-iframe');
}
아래 출처에 보시면 1번에 oEditors.getById... 넣는 부분이 있는데,, skin 파일에 넣으니 속성 인식을
못해서 아이디만 찾아 높이값을 강제로 주었습니다.
$('#wr_content-iframe').height($('#wr_content').height() + 400);
방법을 찾기 위해 삽질하셨을 원작자님께 감사합니다.
저작권 문제?시 삭제하도록 하겠습니다.
출처 : http://ohmysite.co.kr/ab-108830-510