write화면에서 라디오버튼을 활용한 스크립트를 만들어 글 작석했는데 view화면에서 안나오는 경우
본문
구매자일때
선택이 안되어 있을때
라디오 버튼을 이용해서 구매자를 선택하면 구매자와 전화번호가 뜨고
판매자를 선택하면 판매자와 전화번호가 뜹니다.
<tr id="Radio_On" style="display:'';">
<th scope="row"><label for="wr_1">판매자</br>(기업/단체)</label></th>
<td>
<input type="text" name="wr_1" value="<?=$write['wr_1']?>" class="frm_input" size="50" maxlength="255"/>
</td>
<th scope="row"><label for="wr_2">전화번호</label></th>
<td>
<input type="text" name="wr_2" value="<?=$write['wr_2']?>" class="frm_input" size="50" maxlength="255"/>
</td>
</tr>
<tr id="Radio_Off" style="display:'';">
<th scope="row"><label for="wr_8">구매자</br>(기업/단체)</label></th>
<td>
<input type="text" name="wr_8" value="<?=$write['wr_8']?>" class="frm_input" size="50" maxlength="255" />
</td>
<th scope="row"><label for="wr_2">전화번호</label></th>
<td>
<input type="text" name="wr_2" value="<?=$write['wr_2']?>" class="frm_input" size="50" maxlength="255"/>
</td>
</tr>
write.skin.php 에서 이런식으로 전화번호를 두번씩 넣어주었구요
view.skin.php 에서는
<tr>
<?php
if($view['wr_10']=='판매자') { ?>
<th>판매자</th>
<td><?=$view['wr_1']?></td>
<th>전화번호</th>
<td><?=$view['wr_2']?></td>
<?php } else { ?>
<th>구매자</th>
<td><?=$view['wr_8']?></td>
<th>전화번호</th>
<td><?=$view['wr_2']?></td>
<?php } ?>
</tr>
으로 소스를 주었습니다.
여기서 안되는 부분이
라디오버튼에서 판매자를 선택하고 글을 썼을 시 view화면에서 전화번호의 내용이 뜨지 않으며
수정버튼을 눌러보면 판매자의 전화번호는 초기화되어 빈 칸으로 되어 있습니다.
구매자버튼을 눌렀을 경우에는 전화번호가 뜨고 수정버튼눌렀을때도 전화번호가 그대로 기입되어 있는데
어째서 판매자일때만 전화번호가 뜨지 않는지 궁금합니다.
질문을 올리는 도중에 db를 확인해보니 구매자의 wr_2에는 전화번호가 들어가고
판매자의 wr_2에는 전화번호가 안들어가네요
변수를 각각 다른식으로 해주어야 하는걸까요..?
답변 1
wr_2 가 중복으로 되어있네요.
display 옵션으로는 사용자의 화면에 보이고 안보이고일 뿐이지
스크립트상엔 모두 로드 됩니다.
따라서 중복되는 input 의 마지막이 구매자라서 구매자 wr_2 만 보이는것입니다.
여분필드를 늘려주시거나 다른걸로 대체 해주세요.
아니면 판매자 구매자는 확실하게 선택해야 하는 부분이니까
카테고리를 이용해서 하셔도 방법이 될것 같습니다.
글수정시 해당 내용이 초기화 되는 현상은
해당 input 아래에 아래 스크립트를 한줄 넣으면 됩니다.
<script>$('#여분필드').val('<?=$write['여분필드']?>')</script>