2차 문제 글수정시 문제점

2차 문제 글수정시 문제점

QA

2차 문제 글수정시 문제점

본문

https://sir.kr/qa/530766 에서 1차적으로 문제점을 해결했는데

2차문제가 글작성후 수정 누르면 링크가 없어지네요

392886571_1712366503.6508.jpg

4개의 링크를 넣고 글쓰면

392886571_1712366516.9066.jpg

db에 4개 링크 다들어가있음 근데 글수정 눌러보면

392886571_1712366509.7155.jpg

이렇게 3개만 나와있고

392886571_1712366512.606.jpg

추가 눌러보면 빈칸으로 나오네요. 이전으로 돌리면 링크 4개 다시 정상적으로 나오는데

질답에 나온 소스 넣으면 위처럼 발생합니다 글 수정시 링크 유지할수있는 해결방법이 있을까요

 

<?php
// 처음에는 3개까지만 입력창을 표시합니다.
for ($i = 1; $is_link && $i <= 3; $i++) {
?>
<div class="bo_w_link write_div">
    <label for="wr_link<?php echo $i ?>"><i class="fa fa-link" aria-hidden="true"></i><span class="sound_only"> 링크 #<?php echo $i ?></span></label>
    <input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){ echo $write['wr_link'.$i]; } ?>" id="wr_link<?php echo $i ?>" class="frm_input full_input" size="50">
</div>
<?php
}
?>
<button type='button'  class="btn_add_link">링크추가</button>
<button type='button'  class="btn_del_link">링크추가</button>
<script>
$(function() {
    $('.btn_add_link').on('click', function() {
        var link_count = $('.bo_w_link').length;
        if (link_count < 10) {
            var new_link_div = $('<div class="bo_w_link write_div">\
                <label for="wr_link' + (link_count + 1) + '"><i class="fa fa-link" aria-hidden="true"></i><span class="sound_only"> 링크 #' + (link_count + 1) + '</span></label>\
                <input type="text" name="wr_link' + (link_count + 1) + '" id="wr_link' + (link_count + 1) + '" class="frm_input full_input" size="50"></div>');
            $('.bo_w_link').last().after(new_link_div);
        }
    });
    $('.btn_del_link').on('click', function() {
        var link_count = $('.bo_w_link').length;
        if (link_count > 3) {
            $('.bo_w_link').last().remove();
        }
    });
});
</script>

이 질문에 댓글 쓰기 :

답변 3

추가 하면서 input 태그에 값을 넣어주어야 값이 나오죠

php 부분에서

$linkStr = '';

for($k=1; $k<11; $k++);{

$linkStr .=$deli.$write['wr_link'.$k]; $deli='|';

}

 

자바스크립트 부분에서

<script>

linkStr ="<?php echo $linkStr;?>";

linkArr =linkStr.split('|');

---------------------------------

$('.bo_w_link').last().after(new_link_div); 다음에 추가

 

$("#wr_link"+(link_count+1)).val( linkArr[link_count]);

 

for ($i = 1; $is_link && $i <= 3; $i++) {  <= 이 부분 때문인 것으로 보입니다.
글 수정 시 wr_link4까지 존재한다면 $i<=4 가 되어야 겠지요.

의도하시는 게 글 작성 시 링크입력을 3개까지 보이고 갯수는 추가가 가능하다면,
글 수정 시에는 wr_link1~5의 값이 존재하는 만큼 for문을 돌려주셔야 할 듯 합니다.

스크립트에서 어디에도 기존 작성된 $wirte 변수를 불러오는곳이 없습니다.

단지 생성만 해주는것이라 스크립트를 변경해야 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT