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

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

distributor 7년 전 조회 2,425

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

 

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

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

 

</p>

<p>   <?php if($is_admin) {?>

            <?php if ($list_href || $is_checkbox || $write_href) { ?></p>

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

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

            <?php } ?>

            </ul>

            </form>

            </td> <?php    }} ?></p>

<p> </p>

<p>

 

</p>

<p>   <?php if($is_admin) {?>

            <?php if ($list_href || $is_checkbox || $write_href) { ?></p>

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

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

           <!--- 실수로 this.value" 에 " 빼먹고 저장을 했는데 정상 작동 합니다. 이유가 뭘까요 ㅠ--> </p>

<p> </p>

<p> <?php } ?>

            </ul>

            </form>

            </td> <?php    }} ?></p>

<p> </p>

<p>

 

 

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

 

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

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

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

 

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

 

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

 

이것 저것 지우다 

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

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

답변 1개

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

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개

d
distributor
7년 전
정말 감사합니다 공부해보겠습니다.

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

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

로그인