2026, 새로운 도약을 시작합니다.

DB 연동 셀렉트박스 질문입니다. 채택완료

Copy








 function getCataAllId(cmd){

  cmd = eval(cmd);

  cmd2 = cmd +1;

  initCataID(cmd);

  var ch = "";

  for(var idx = 1; idx  cmd2; idx++){

      ch = ch + eval("document.f1.menu"+idx+".value") + "|"+idx+"|";

  }

  var v = 0;

  var temp = "";

  var tempv = "";

  var arg = "";

  for(var m = 0; m  menuArr.length; m ++) {

      arg = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|")) ;

      temp = menuArr[m].substring(0, menuArr[m].indexOf("|"+cmd+"|")+3);

      if(temp == ch && tempv != arg ){

            v++;

            eval("document.f1.menu"+cmd2+".length = document.f1.menu"+cmd2+".length + 1");

            eval("document.f1.menu"+cmd2+".options["+v+"].value = arg ");

            eval("document.f1.menu"+cmd2+".options["+v+"].text  = arg ");

      }

      if(temp != ch){

          tempv = "";

      }else{

          tempv = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|"));

      } 

  }

}

 

 function initCataID(cmd){

 cmd = eval(cmd);

  if(cmd == 1){

      document.f1.menu2.length = 1;

      document.f1.menu3.length = 1;

      document.f1.menu4.length = 1;

      document.f1.menu2.selectedIndex = 0;

      document.f1.menu3.selectedIndex = 0;

      document.f1.menu4.selectedIndex = 0;

  }

  if(cmd == 2){

      document.f1.menu3.length = 1;

      document.f1.menu4.length = 1;

      document.f1.menu3.selectedIndex = 0;

      document.f1.menu4.selectedIndex = 0;

  }

  if(cmd == 3){

      document.f1.menu4.length = 1;

      document.f1.menu4.selectedIndex = 0;

  }

 }











 선택하세요.





 선택하세요.





 선택하세요.





 선택하세요.









/* JSON encode, parse  */

var stuff = ;

var str = JSON.stringify(stuff);

var menuArr = new Array();

      menuArr= JSON.parse(str);

var z1 = 0;

var temp1 = 0;

  initCataID(1);

  for(var m = 0; m  menuArr.length; m ++) {

      if ( menuArr[m].substring(0, menuArr[m].indexOf("|1|")) != temp1 ){

          document.f1.menu1.length =  document.f1.menu1.length + 1;

          document.f1.menu1.options[z1+1].value = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;

          document.f1.menu1.options[z1+1].text = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;

          temp1 = menuArr[m].substring(0, menuArr[m].indexOf("|1|"));

          z1++;

      }

      /*  index 1에 중복 제거입니다.  */

  }

function gotomenu()

{

      location.href = '#';

}



sub_01_01 게시판의 wr_1 ,wr_2, wr_3, wr_4 의 여분필드를 불러오는건 잘 됩니다. 그런데,
저장이 안됩니다. 
저장이 된다쳐도 수정시 풀려버릴것 같은데...

어디를 수정해야 하는지 고수님들 조언 부탁 그립니다.^^

답변 3개

form name = 'f1' 등록버튼은 어디있나요?

어디서 어떻게 저장하는지 알아야 상황에 맞는 답변이 가능합니다

위 코드가 write.skin.php 일부라면 스킨폴더에 write_upate.head.skin.php를 만들고

아래 코드를 넣으세요(menu1~menu4가 wr_1~wr_4에 저장 되어야 나올테니까요)

애초에 게시판 구조에 맞게 이름을 붙이면 아래와 같은 추가 작업이 필요 없을 것인데요

<?

$wr_1 = $menu1; $wr_2 = $menu2; $wr_3 = $menu3; $wr_4 = $menu4;

?>

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

답변에 대한 댓글 1개

위 질문 내용은 저도 검색하다가 알아냈는데요, 그누보드5 에 적용 하고자 합니다.
<form name = 'f1' > 내용은 원래 그누보드
[code]<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" role="form" class="form">[/code]
에 적용 하고자 하는건데, 저장 방법을 몰라서 질문 드린 겁니다. ^^

기초가 약해서 항상 다른분들 도움으로 많이 배우는중이라..

죄송 합니다.

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

Copy





 선택하세요.


 선택하세요.


 선택하세요.


 선택하세요.



위 <option value="" selected>선택하세요.</option> 는 다중셀렉트 입니다.

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

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

wr_1~4번의 폼을 <input hidden 으로 해서 전송되도록 해주셔야 할듯 한데요

등록시 저장은 어떻게 하고 있는지 파악이 되지 않아 확인은 어렵지만 등록시에 wr_1~4 폼값이 있다면 그 부분에 반영하면 되지만 없다면 추가해서 값을 적용해 주셔야 할듯 합니다.

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

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

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

로그인
🐛 버그신고