카테고리에 맞추어서 blockdisplay를 설정하고 싶습니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

카테고리에 맞추어서 blockdisplay를 설정하고 싶습니다. 정보

카테고리에 맞추어서 blockdisplay를 설정하고 싶습니다.

본문

아래는 write.skin.php 에서 공지챜크하면 자동으로 숨기는 기능입니다.

-------------------
blockdisplay();
function blockdisplay(){
 if (document.fwrite.notice.checked){
  document.getElementById('display_hidden').style.display = "none";
 }else{
  document.getElementById('display_hidden').style.display = "";
 }
}
---------------

이것을,
"카테고리 A 를 선택하면 자동으로 blockdisplay 하기"를 하고자 한다면 어떻게 해야하는가요?
  • 복사

댓글 전체

<? if ($is_category) { ?>
<tr>
    <td class=write_head>분 류</td>
    <td><select name=ca_name id=ca_name required itemname="분류" onChange="setCate(this.value);"><option value="">선택하세요<?=$category_option?></select></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<tr>
    <td class=write_head>· 테스트</td>
    <td class=write_main>
<div id="box21_1" style="display:block;">내용1</div>
<div id="box21_2" style="display:none;">내용2</div>
    </td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>

<script type="text/javascript">
 function setCate(cate){
  if(cate == "또샵"){
        document.getElementById("box21_1").style.display="none";
        document.getElementById("box21_2").style.display="";
  } else {
        document.getElementById("box21_1").style.display="";
        document.getElementById("box21_2").style.display="none";
}
}
</script>

참고 해 보세요.
사노라가노라님!!!
감사합니다. 잘 적용이 되고 있습니다.

특별한 상황에서 문제가 하나 있습니다.
답변의 경우에는 카테고리가 원글의 카테고리를 그대로 사용하게 했습니다.
그리고 님께서 가르쳐주신대로 한 경우가 아래입니다.

그럴 경우 답글에서는 모든 박스가 그대로 보여집니다.
그럴 때에도 원글에 의해서 이미 선택된 박스만 보여지게 할 수는 없는가요?

-------------------

<? if ($is_category) { ?>
<tr>
    <td class=write_headB>분 류 </td>
    <td>
<? if ($w == "r") { ?>
<select name=ca_name id=ca_name required itemname="분류" onChange="setCate(this.value);"><option value="<?=$write[ca_name]?>"><?=$write[ca_name]?></select>
<? } else { ?>
<select name=ca_name id=ca_name required itemname="분류" onChange="setCate(this.value);"><option value="">선택<?=$category_option?></select>
<? } ?>
</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
답변(r) 일때 required 로 보아 원글에서 골라서 반영한 것 그대로 보여주는 형태로 예상되는데요?

<? if ($w == "r") { ?>
<select name=ca_name id=ca_name required itemname="분류">
 까지만 하시고(골라서 재선택이 아니니)
<? if ($w == "r" && write[ca_name] == "조건값1") { ?>
조건값1일때 정해진 표현 또는 원글 작성시 카테 선택 후 넘겨진 여분 값
<? } 이후 조건 {?>
..

흐름으로 답변이고 원글 작성시 카테 동시 만족이면 그에 대한 표현이나 원글쓸때 넘겨진 여분값 뿌려주시면 될으로 예상 됩니다.
사노라가노라님!!
이번것은 제가 이해하기가 좀 어렵군요...

먼저 저의 질문의 요지는,

"답글을 쓸 때"와,
"원글이건 답변글이건간에, 글을 수정할 때"에,

자동으로, 처음 쓸때(원글 또는 답변글 또는 답변에답변글)의 카테고리선택에 의해서 보여지는 박스부분만 보여질 수 있느냐 하는 것입니다.

님께서 가르쳐주신 것을 적용한 박스숨김기능은 아래입니다.
죄송하지만 조금만 더 실례로 설명해주세요....
---------
function setCate(cate){
  if(cate == "성폭력상담"){
        document.getElementById("box_2").style.display="";
        document.getElementById("box_3").style.display="none";
        document.getElementById("box_4").style.display="";
        document.getElementById("box_5").style.display="none";
        document.getElementById("box_6").style.display="";
  } else if(cate == "가정폭력상담"){
        document.getElementById("box_2").style.display="none";
        document.getElementById("box_3").style.display="";
        document.getElementById("box_4").style.display="";
        document.getElementById("box_5").style.display="none"; 
        document.getElementById("box_6").style.display="";
  } else if(cate == "성폭기타상담" || cate == "가폭기타상담"){
        document.getElementById("box_2").style.display="none";
        document.getElementById("box_3").style.display="none";
        document.getElementById("box_4").style.display="none";
        document.getElementById("box_5").style.display="";
        document.getElementById("box_6").style.display="none";
  }
  else {
        document.getElementById("box_2").style.display="none";
        document.getElementById("box_3").style.display="none";
        document.getElementById("box_4").style.display="none";
        document.getElementById("box_5").style.display="none";
        document.getElementById("box_6").style.display="none";
  }
}
© SIRSOFT
현재 페이지 제일 처음으로