댓글 이용한 여분필드 입력 내용이 댓글 수정 모드에서도 그대로 있게 하려면?
본문
<input type="text" name="wr_11" value="<?php echo $list[$i]['wr_11']; ?>" id="wr_11" class="form-control input-sm" size="10" maxLength="20">
위 코드를 이용해 숫자를 입력 받고 있습니다.
입력은 잘 되는데, 댓글 수정 버튼을 누려면 입력한 게 사라져 버리네요.
댓글 수정 버튼을 입력해도 그대로 입력창에 보이게 하려면 어떻게 해야 하는지?
답변 5
view_comment.skin.php
55번째 줄 밑에
<textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea>
<input type="hidden" id="save_wr10_<?php echo $comment_id ?>" value="<?php echo $list[$i]['wr_10']; ?>" /> 추가
159번째 줄에
<tr>
<th scope="row">wr_10</th>
<td><input type="text" name="wr_10" id="wr_10" value="" /></td>
</tr>
하단에 스크립트 부분
function comment_box(comment_id, work)
{
..........생략........
// 댓글 수정
if (work == 'cu')
{
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
document.getElementById("wr_10").value = document.getElementById("save_wr10_" + comment_id).value; // 추가
wr_10으로 했습니다.
제가 사용하는 방법은 일단 수정 할때 보면 hidden으로 값 저장해두고 그 값을 넣는건데 그걸 이용해서 댓글 리스트 할때 wr_11를 히든으로 넣으시고
수정 스크립트 할때 히든값 넣어주는 거 처럼 값을 넣어주시면 됩니다.
신비님이면 이정도 말씀드리면 이해하실거 같네요
view_comment.skin.php 파일 58라인쯤 아래 부분에 wr_11 추가하시고
해당 수정 부분에 변수 추가해서 해보세요~
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
$c_wr_content = $cmt['wr_content'];
}
$c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w';
$c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
?>
그누 원본 기준으로
<input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>" id="secret_comment_<?php echo $comment_id ?>">
밑에
<input type="hidden" value="<?php echo $list[$i]['wr_11']; ?>" id="save_wr11_<?php echo $comment_id ?>">
추가하시고
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
아래에
document.getElementById('wr_11').value = document.getElementById('save_wr11_' + comment_id).value;
을 추가하시면 수정할때 기존 선택된 값이 들어갈겁니다.
현재 상황을 정리하자면, 댓글 입력을 통해서는 값이 정상적으로 잘 반영됩니다.
다만, 댓글 수정을 하면 입력값이 사라집니다.
<?php echo $list[$i]['wr_11'];?> 처럼 $list 변수를 사용할 경우,
최초 댓글 입력할 때는 잘 되는데,
댓글에 출력시킬 때나 댓글 수정모드에서는 값이 안 보입니다.
분명 여분필드엔 값이 들어가 있는데 말이죠.
근데, $view 변수를 활용해 출력시킬 경우,
값은 보이지만,
마지막 댓글로 작성한 값이 기존 댓글에 입력한 값들에 공통적으로 나타납니다.