테스트 사이트 - 개발 중인 베타 버전입니다

(재질문) 수정시 셀렉트가 초기화 됩니다. ㅜㅜ; 채택완료

꽁치입니다 4년 전 조회 1,813

아래 내용은 다른 테이블 불러와서 DB 연동한 다중 셀렉터 입니다.

 

입력하고 저장하면, DB에 저장은 잘 되는데, 수정 하려면 초기화 됩니다.

아무리 봐도 이상이 없는듯 한데... 어디가 잘못됐는지...ㅠㅠ

 

 

</p>

<p><?php

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

    for ($i=0; $row = sql_fetch_array($result); $i++) {

      $nm[$i] = $row['wr_1'].'|1|'.$row['wr_2'].'|2|'.$row['wr_subject'].'|3|'.$row['wr_4'].'|4|';

?></p>

<p>

<script type="text/javascript">

 function getCataAllId(cmd){

  cmd = eval(cmd);

  cmd2 = cmd +1;

  initCataID(cmd);

  var ch = "";

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

      ch = ch + eval("document.fwrite.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.fwrite.menu"+cmd2+".length = document.fwrite.menu"+cmd2+".length + 1");

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

            eval("document.fwrite.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.fwrite.menu2.length = 1;

      document.fwrite.menu3.length = 1;

      document.fwrite.menu4.length = 1;

      document.fwrite.menu2.selectedIndex = 0;

      document.fwrite.menu3.selectedIndex = 0;

      document.fwrite.menu4.selectedIndex = 0;

  }

  if(cmd == 2){

      document.fwrite.menu3.length = 1;

      document.fwrite.menu4.length = 1;

      document.fwrite.menu3.selectedIndex = 0;

      document.fwrite.menu4.selectedIndex = 0;

  }

   if(cmd == 3){

      document.fwrite.menu4.length = 1;

      document.fwrite.menu4.selectedIndex = 0;

  }

 }</p>

<p>

</script></p>

<p>

<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">

   <input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>">

.

.

.

.

.</p>

<p><?php

 $write['wr_1'] = $menu1;

 $write['wr_2'] = $menu2;

 $write['wr_subject'] = $menu3;

 $write['wr_4'] = $menu4;

?></p>

<p> <select name='wr_1' id='menu1' OnChange='javascript:getCataAllId(1)' required class="form-select">

       <option value='<?=$write['wr_1']?>' <?php if($write['wr_1'] == '' )? 'selected':'';?>> 선택하세요 </option>

 </select>

.

.

.

.

.</p>

<p>

<div class="write-btn">

  <button type="submit" id="btn_submit" accesskey="s" class="btn btn-send btn-lg"><b><?php echo $w == '' ? '결재하기':'수정하기' ?></b></button>

  <?php if($is_admin) { ?>

    <a href="./board.php?bo_table=<?php echo $bo_table ?>" class="btn btn-<?php echo $btn1;?> btn-send btn-lg" role="button">목록으로</a>

    <?php } ?>

</div></p>

<p><div class="clearfix"></div>

</form></p>

<p><script type="text/javascript">

/* JSON encode, parse  */

var stuff = <?php echo json_encode($nm); ?>;

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.fwrite.menu1.length =  document.fwrite.menu1.length + 1;

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

          document.fwrite.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에 중복 제거입니다.  */

  }</p>

<p>function gotomenu()

{

      location.href = '#';

}

</script>

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

답변 1개

질문자가 모르듯이 답변자도 모르겠네요 게시판 인지 아니면 어디껀지.. 저거 자바스크립트만 봐도..

먼지 모르겠어요

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

답변에 대한 댓글 4개

꽁치입니다
4년 전
게시판입니다. 전체를 다 적어 넣기가 뭐해서 핵심만 넣어놨어요.

[code]
<select name='wr_1' id='menu1' OnChange='javascript:getCataAllId(1)' required class="form-select">
<option value='<?=$write['wr_1']?>' <?php if($write['wr_1'] == '' )? 'selected':'';?>> 선택하세요 </option>
</select>
[/code]

문젠, 요 부분인것 같은데.. 문제가 없어 보이는데.. 안되네요..
릴보이즈
4년 전
어쨌든 뭔지를 잘 모르겠지만.. 의심되는부분이 있네요

셀렉트 박스 내부에 여기 소스 조건문 보면 비워 있습니다.


<?php if($write['wr_1'] == $wr_1 )? 'selected':'';?>

이렇게 해보세요 수정한 값이랑 같을경우 셀렉티드를 해보세요
꽁치입니다
4년 전
저도 그 부분이 의심이 되는데요.. 잘 모르겠네요..ㅡㅡ;

좀 더 연구를 해볼께요.. 밤 늦게 답변 주셔서 고맙습니다.^^
릴보이즈
4년 전
채택해주세요~

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

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

로그인