리스트 특정 필드 수정하기 (체크된 박스 구분)
본문
제가 하고자 하는건 list 에 셀렉트를 달아서 여분 필드를 수정하고 싶습니다.
위에 링크의 보들이윤 님의 소스를 참고하였습니다.
<?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 }} ?>
<?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
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>