고수님들...라디오버튼을 이용한 것인데요 이것을 선택박스변경이요

고수님들...라디오버튼을 이용한 것인데요 이것을 선택박스변경이요

QA

고수님들...라디오버튼을 이용한 것인데요 이것을 선택박스변경이요

본문

고수님들...라디오버튼을 이용해서 만들었는데요 더이상 진도가 나가지 못해서요

절대 주소 뒤에 &wr_11=1&wr_12=1  이런식으로 변수값이 뒤에 적용이 됩니다.

원하는것은 wr_11  wr_12 wr_13 순서로 선택하면 선택한것이 활성되어서 남아있는데 이것을 

꺼꾸로 선택하여 올라오면 wr_13 ~ 이것부터 선택한 것이 지워집니다.

 

라디오버튼은 안되는 것인지?  아니면 체크박스로 해야하는지 궁금합니다. ;;;;;;

 


<form name="multisearch" method="get">
  <input type="hidden" name="bo_table" value="2001">
  <input type="hidden" name="bcat" value="msearch">
  <div>
    <?php
    $wr_11_value = isset($_GET['wr_11']) ? $_GET['wr_11'] : '';
    $wr_11_options = array("강아지", "중도금", "사탕");
    for ($i = 1; $i <= 10; $i++) {
      echo '<input type="radio" name="wr_11" value="' . $i . '" onclick="multi_search_submit(\'' . $i . '\', \'' . $wr_12_value . '\', \'' . $wr_13_value . '\');"' . ($wr_11_value == $i ? ' checked' : '') . '> ' . $wr_11_options[$i-1] . ' ';
    }
    ?>
  </div>
  <div>
   <?php
    $wr_12_value = isset($_GET['wr_12']) ? $_GET['wr_12'] : '';
    $wr_12_options = array("사과", "바나나", "딸기");
    for ($i = 1; $i <= 3; $i++) {
      echo '<input type="radio" name="wr_12" value="' . $i . '" onclick="multi_search_submit(\'' . $wr_11_value . '\', \'' . $i . '\', \'' . $wr_13_value . '\');"' . ($wr_12_value == $i ? ' checked' : '') . '> ' . $wr_12_options[$i-1] . ' ';
    }
?>
  </div>
  <div id="wr_13_div">
   <?php
    $wr_13_value = isset($_GET['wr_13']) ? $_GET['wr_13'] : '';
    $wr_13_options = array("사과", "바나나", "딸기");
    for ($i = 1; $i <= 3; $i++) {
      echo '<input type="radio" name="wr_13" value="' . $i . '" onclick="multi_search_submit(\'' . $wr_11_value . '\', \'' . $wr_12_value . '\', \'' . $i . '\');"' . ($wr_13_value == $i ? ' checked' : '') . '> ' . $wr_13_options[$i-1] . ' ';
    }
?>
  </div>
 
  

   
</form>
<script>
function multi_search_submit(wr_11, wr_12, wr_13) {
  var wr_13_div = document.getElementById("wr_13_div");
  wr_13_div.innerHTML = '';
  for (var i = 1; i <= 10; i++) {
    var radio = document.createElement("input");
    radio.type = "radio";
    radio.name = "wr_13";
    radio.value = i;
    radio.onclick = function() {
      multi_search_submit(wr_11, wr_12, this.value);
    };
    if (wr_13 == i) {
      radio.checked = true;
    }
    var label = document.createElement("label");
    label.innerHTML = i;
    wr_13_div.appendChild(radio);
    wr_13_div.appendChild(label);
    wr_13_div.appendChild(document.createTextNode(" "));
  }
  

  var url = "../bbs/board.php?bo_table=2001&bcat=msearch&wr_11=" + wr_11 + "&wr_12=" + wr_12 + "&wr_13=" + wr_13;
  window.location.href = url;
}
</script>
 

이 질문에 댓글 쓰기 :

답변 2

코드를 실행했을때 다음과 같은 메세지가 발생했습니다.


PHP Notice:  Undefined variable: wr_12_value in ...
PHP Notice:  Undefined variable: wr_13_value in ...
PHP Notice:  Undefined ...

 

그래서 조금 손을 보고 난 후의 코드 입니다만


<?php
    $wr_11_value = isset($_GET['wr_11']) ? $_GET['wr_11'] : '';
    $wr_12_value = isset($_GET['wr_12']) ? $_GET['wr_12'] : '';
    $wr_13_value = isset($_GET['wr_13']) ? $_GET['wr_13'] : '';
?>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>">init</a>
<form name="multisearch" method="get">
  <input type="hidden" name="bo_table" value="2001">
  <input type="hidden" name="bcat" value="msearch">
  <div>
    <?php
    $wr_11_options = array("강아지", "중도금", "사탕");
    for ($i = 1; $i <= count($wr_11_options); $i++) {
      echo '<input type="radio" name="wr_11" value="' . $i . '" onclick="multi_search_submit(\'' . $i . '\', \'' . $wr_12_value . '\', \'' . $wr_13_value . '\');"' . ($wr_11_value == $i ? ' checked' : '') . '> ' . $wr_11_options[$i-1] . ' ';
    }
    ?>
  </div>
  <div>
   <?php
    $wr_12_options = array("사과", "바나나", "딸기");
    for ($i = 1; $i <= count($wr_12_options); $i++) {
      echo '<input type="radio" name="wr_12" value="' . $i . '" onclick="multi_search_submit(\'' . $wr_11_value . '\', \'' . $i . '\', \'' . $wr_13_value . '\');"' . ($wr_12_value == $i ? ' checked' : '') . '> ' . $wr_12_options[$i-1] . ' ';
    }
?>
  </div>
  <div id="wr_13_div">
   <?php
    $wr_13_options = array("사과", "바나나", "딸기");
    for ($i = 1; $i <= count($wr_13_options); $i++) {
      echo '<input type="radio" name="wr_13" value="' . $i . '" onclick="multi_search_submit(\'' . $wr_11_value . '\', \'' . $wr_12_value . '\', \'' . $i . '\');"' . ($wr_13_value == $i ? ' checked' : '') . '> ' . $wr_13_options[$i-1] . ' ';
    }
?>
  </div>
 
  
   
</form>
<script>
function multi_search_submit(wr_11, wr_12, wr_13) {
  var wr_13_div = document.getElementById("wr_13_div");
  wr_13_div.innerHTML = '';
  for (var i = 1; i <= 10; i++) {
    var radio = document.createElement("input");
    radio.type = "radio";
    radio.name = "wr_13";
    radio.value = i;
    radio.onclick = function() {
      multi_search_submit(wr_11, wr_12, this.value);
    };
    if (wr_13 == i) {
      radio.checked = true;
    }
    var label = document.createElement("label");
    label.innerHTML = i;
    wr_13_div.appendChild(radio);
    wr_13_div.appendChild(label);
    wr_13_div.appendChild(document.createTextNode(" "));
  }
  
  // var url = "../bbs/board.php?bo_table=2001&bcat=msearch&wr_11=" + wr_11 + "&wr_12=" + wr_12 + "&wr_13=" + wr_13;
  var url = "<?php echo $_SERVER['PHP_SELF']; ?>?bo_table=2001&bcat=msearch&wr_11=" + wr_11 + "&wr_12=" + wr_12 + "&wr_13=" + wr_13;
  window.location.href = url;
}
</script>

 

거꾸로 선택을 해 올라가도 선택한 것이 지워지는 현상은 발생하지 않고 있습니다.

 

또한 multi_search_submit 에서 동적으로 라디오버튼 10개를 만드는 부분은

아래쪽의 조합된 url 이 이동되는 순간 초기화 되어 나타났다 사라지는데

무슨 의미인지 잘 모르겠습니다.


<form name="multisearch" method="get">
  <input type="hidden" name="bo_table" value="2001">
  <input type="hidden" name="bcat" value="msearch">
  <div>
    <?php
    $wr_11_value = isset($_GET['wr_11']) ? $_GET['wr_11'] : '';
    $wr_11_options = array("강아지", "중도금", "사탕");
    for ($i = 1; $i <= 10; $i++) {
      echo '<input type="radio" name="wr_11" value="' . $i . '" onclick="multi_search_submit(\'' . $i . '\', \'' . $wr_12_value . '\', \'' . $wr_13_value . '\');"' . ($wr_11_value == $i ? ' checked' : '') . '> ' . $wr_11_options[$i-1] . ' ';
    }
    ?>
  </div>
  <div>
   <?php
    $wr_12_value = isset($_GET['wr_12']) ? $_GET['wr_12'] : '';
    $wr_12_options = array("사과", "바나나", "딸기");
    for ($i = 1; $i <= 3; $i++) {
      echo '<input type="radio" name="wr_12" value="' . $i . '" onclick="multi_search_submit(\'' . $wr_11_value . '\', \'' . $i . '\', \'' . $wr_13_value . '\');"' . ($wr_12_value == $i ? ' checked' : '') . '> ' . $wr_12_options[$i-1] . ' ';
    }
?>
  </div>
  <div id="wr_13_div">
   <?php
    $wr_13_value = isset($_GET['wr_13']) ? $_GET['wr_13'] : '';
    $wr_13_options = array("사과", "바나나", "딸기");
    for ($i = 1; $i <= 3; $i++) {
      echo '<input type="radio" name="wr_13" value="' . $i . '" onclick="multi_search_submit(\'' . $wr_11_value . '\', \'' . $wr_12_value . '\', \'' . $i . '\');"' . ($wr_13_value == $i ? ' checked' : '') . '> ' . $wr_13_options[$i-1] . ' ';
    }
?>
  </div>
</form>
<script>
function multi_search_submit(wr_11, wr_12, wr_13) {
  var wr_13_div = document.getElementById("wr_13_div");
  wr_13_div.innerHTML = '';
  for (var i = parseInt(wr_13) + 1; i <= 10; i++) {
    var radio = document.createElement("input");
    radio.type = "radio";
    radio.name = "wr_13";
    radio.value = i;
    radio.onclick = function() {
      multi_search_submit(wr_11, wr_12, this.value);
    };
    var label = document.createElement("label");
    label.innerHTML = i;
    wr_13_div.appendChild(radio);
    wr_13_div.appendChild(label);
    wr_13_div.appendChild(document.createTextNode(" "));
  }
  var url = "../bbs/board.php?bo_table=2001&bcat=msearch&wr_11=" + wr_11 + "&wr_12=" + wr_12 + "&wr_13=" + wr_13;
  window.location.href = url;
}
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 7
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT