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

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

나딘플러스 2년 전 조회 1,952

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

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

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

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

 

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

 

</strong></p>

<p><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] . ' ';

    }

?></p>

<p>  </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></p>

<p> 

  </p>

<p>

   

</form></p>

<p><script></p>

<p>function multi_search_submit(wr_11, wr_12, wr_13) {

  var wr_13_div = document.getElementById("wr_13_div");

  wr_13_div.innerHTML = '';</p>

<p>  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;

    }</p>

<p>    var label = document.createElement("label");

    label.innerHTML = i;</p>

<p>    wr_13_div.appendChild(radio);

    wr_13_div.appendChild(label);

    wr_13_div.appendChild(document.createTextNode(" "));

  }</p>

<p>  </p>

<p>

  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></p>

<p><strong>
 

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

답변 2개

채택된 답변
+20 포인트
2년 전

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

</p>

<p>PHP Notice:  Undefined variable: wr_12_value in ...

PHP Notice:  Undefined variable: wr_13_value in ...</p>

<p>PHP Notice:  Undefined ...</p>

<p>

 

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

</p>

<p><?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></p>

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

 

  </p>

<p>   

</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(" "));

  }

  </p>

<p>  // 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></p>

<p>

 

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

 

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

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

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

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

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

들레아빠

</p>

<p><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(" "));

  }</p>

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

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

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

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

로그인