채택완료

리스트 특정 필드 수정하기 (체크된 박스 구분)

2018-03-11 (일) 22:28:25 2,668

제가 하고자 하는건 list 에 셀렉트를 달아서 여분 필드를 수정하고 싶습니다.

소스는 https://sir.kr/qa/133305

위에 링크의 보들이윤 님의 소스를 참고하였습니다.

Copy
<?php if($is_admin) {?>
            <?php if ($list_href || $is_checkbox || $write_href) { ?>

               <div class="bo_fx">
            <td><!-- 상태 변경 -->
            <form action="./board_list_update.php" method="post" >
            <select id="wr_1[<?echo $i?>]" name="wr_1[<?echo $i?>]">
            <option value="">상태변경</option><option value="작동중" <?if($list[$i]['wr_1']=="작동중") echo "selected"; ?>>작동중</option>
            </select>
             <ul class="btn_bo_adm">
                                 <?php if ($is_checkbox) { ?>

            <li><input type="submit" name="btn_submit" value="선택수정" onclick="document.pressed=this.value"></li>
            <?php } ?>
            </ul>
            </form>
            </td> <?php    }} ?>
Copy
<?php if($is_admin) {?>
            <?php if ($list_href || $is_checkbox || $write_href) { ?>

               <div class="bo_fx">
            <td><!-- 상태 변경 -->
            <form action="./board_list_update.php" method="post" >
            <select id="wr_1[<?echo $i?>]" name="wr_1[<?echo $i?>]">
            <option value="">상태변경</option><option value="작동중" <?if($list[$i]['wr_1']=="작동중") echo "selected"; ?>>작동중</option>
            </select>
             <ul class="btn_bo_adm">
                                 <?php if ($is_checkbox) { ?>

            <li><input type="submit" name="btn_submit" value="선택수정" onclick="document.pressed=this.value></li>
           <!--- 실수로 this.value" 에 " 빼먹고 저장을 했는데 정상 작동 합니다. 이유가 뭘까요 ㅠ--> 

 

 <?php } ?>
            </ul>
            </form>
            </td> <?php    }} ?>

제일 상단에 게시물의 셀렉트를 선택하고 체크를 한 다음 수정을 누르면 DB의 값이 변경됩니다. 정상작동하는 것 같으나

두 번째 보이는 게시물 부터는 수정이 되지 않고 하나 이상의 게시물을 선택해주세요 라는 오류 알람이 뜹니다.

체크 board_list_update 에서 나오는 것으로 확인했는데 

어디가 잘못됐는지 찾기가 참 어렵습니다.

 <li><input type="submit" name="btn_submit" value="선택수정" onclick="document.pressed=this.value></li> 

"을 빼먹고 저장을 했는데 작동을 합니다 이유가 뭘까요

이것 저것 지우다 

</form> 을 지웠는데 정상 작동합니다. 이찝찝함

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

button 태그에 타입을 명시해 주지 않으면,

브라우저에 따라 'submit' 으로 기본 인식되기도 합니다.

기존 소스에 button 의 type 속성이 별도로 지정되어 있지 않습니다.

그래서 form 의 submit 버튼으로 처리되었고, 해당 소스의 form 의 action 파일인 board_list_update.php 처리도 같이 되었을 것입니다.

type 속성을 submit 이 아닌 button 으로 명시해 주어야,

이러한 작동을 피할 수 있습니다. http://blog.freezner.com/archives/807 ,  http://zero-gravity.tistory.com/226

<button type="button>수정</button>

답변에 대한 댓글 1개

정말 감사합니다 공부해보겠습니다.

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