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

여분필드 쪼개서 추가 버튼으로 클릭시 저장 되게 하는 방법 문의드립니다 채택완료

달료라 1년 전 조회 6,765

</p>

<p>$wr31epd = explode("|",$write[wr_31]);

$wr31epd0 = $wr31epd[0];

$wr31epd1 = $wr31epd[1];

$wr31epd2 = $wr31epd[2];</p>

<p> </p>

<p> </p>

<p><script>

const wrapper = $('.input_wrap'); // 입력 필드를 포함하는 컨테이너 선택

const addButton = $('.add_field'); // 추가 버튼 선택

const maxFields = 15; // 최대 입력 필드 수 설정 

let fieldCount = 1; // 현재 입력 필드 수</p>

<p>

// '추가하기' 버튼 클릭 시 이벤트

addButton.click(function(e) {

    e.preventDefault(); // 페이지 리로드 방지

    if (fieldCount < maxFields) { // 최대 필드 수 체크

        fieldCount++; // 필드 수 증가

        // 새 입력 필드 추가

        wrapper.append(`

            <div class="input_list">




<table width=95% align="center">

<th colspan="4" height=45px><p style="padding:0 0 0 10px;">상품정보</p></th>

<tr>

<td width=15%>상품명</td><td width=25%><input type="text" name=wr31epd0 id=wr31epd0 class="form-control" placeholder="입력해주세요."></td></p>

<p>

</tr></table>




<a href="javascript:void(0);" class="remove_field">삭제</a></p>

<p>            </div></p>

<p>

        `);</p>

<p>

    }

});</p>

<p>// '삭제' 링크 클릭 시 이벤트

wrapper.on('click', '.remove_field', function(e) {

    e.preventDefault(); // 페이지 리로드 방지

    $(this).parent('.input_list').remove(); // 필드 제거

    fieldCount--; // 필드 수 감소

});</p>

<p></script></p>

<p> </p>

<p> </p>

<p>

 

wr_31  여분필드를 쪼개서 저장되게 하려고 하는데, wr31epd0 이부분을 0,1,2 ~ 이런식으로 추가 했을 때 저장되게 할 수 있는 방법이 있을까요?  알고 계신 고수분님 계실까요?

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

답변 1개

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

다음 코드가 도움이 될지 모르겠습니다.

 

</p>

<p><?php

$write_wr_31 = '';

if (isset($_POST['wr_31']) == true && is_array($_POST['wr_31']) == true) {

    $write_wr_31 = array_filter($_POST['wr_31']);

    $write_wr_31 = implode('|', $write_wr_31);

}

$write = ['wr_31' => $write_wr_31];</p>

<p> </p>

<p>$wr31epd = explode("|",$write['wr_31']);</p>

<p> </p>

<p>$wr31epd = array_filter($wr31epd);

?></p>

<p> </p>

<p><form method="post">

<input type="submit"></p>

<p> </p>

<p><p>

    <button class="add_field">add_field</button>

    <div class="input_wrap"></div>

</p></p>

<p> </p>

<p><input type="submit">

</form></p>

<p> </p>

<p><script src="//code.jquery.com/jquery-latest.min.js"></script>

<script>

const wrapper = $('.input_wrap'); // 입력 필드를 포함하는 컨테이너 선택

const addButton = $('.add_field'); // 추가 버튼 선택

const maxFields = 15; // 최대 입력 필드 수 설정 

let fieldCount = 1; // 현재 입력 필드 수</p>

<p> </p>

<p>// '추가하기' 버튼 클릭 시 이벤트

addButton.click(function(e, v = null) {

    e.preventDefault(); // 페이지 리로드 방지

    if (fieldCount < maxFields) { // 최대 필드 수 체크

        const value = v || '';

        fieldCount++; // 필드 수 증가

        // 새 입력 필드 추가

        wrapper.append(`

            <div class="input_list">




<table width=95% align="center">

<th colspan="4" height=45px><p style="padding:0 0 0 10px;">상품정보</p></th>

<tr>

<td width=15%>상품명</td><td width=25%><input type="text" name="wr_31[]" value="${value}" class="form-control" placeholder="입력해주세요."></td></p>

<p></tr></table>




<a href="javascript:void(0);" class="remove_field">삭제</a>

            </div></p>

<p>        `);</p>

<p>    }

});

// '삭제' 링크 클릭 시 이벤트

wrapper.on('click', '.remove_field', function(e) {

    e.preventDefault(); // 페이지 리로드 방지

    $(this).parent('.input_list').remove(); // 필드 제거

    fieldCount--; // 필드 수 감소

});</p>

<p> </p>

<p><?php

foreach ($wr31epd as $v) {

    echo 'addButton.trigger("click", ["' . $v . '"]);';

}

?></p>

<p> </p>

<p></script></p>

<p>

로그인 후 평가할 수 있습니다

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

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

로그인