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

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

QA

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

답변 1

본문


$wr31epd = explode("|",$write[wr_31]);
$wr31epd0 = $wr31epd[0];
$wr31epd1 = $wr31epd[1];
$wr31epd2 = $wr31epd[2];
 
 
<script>
const wrapper = $('.input_wrap'); // 입력 필드를 포함하는 컨테이너 선택
const addButton = $('.add_field'); // 추가 버튼 선택
const maxFields = 15; // 최대 입력 필드 수 설정 
let fieldCount = 1; // 현재 입력 필드 수

// '추가하기' 버튼 클릭 시 이벤트
addButton.click(function(e) {
    e.preventDefault(); // 페이지 리로드 방지
    if (fieldCount < maxFields) { // 최대 필드 수 체크
        fieldCount++; // 필드 수 증가
        // 새 입력 필드 추가
        wrapper.append(`
            <div class="input_list">
<br>
<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>

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

        `);

    }
});
// '삭제' 링크 클릭 시 이벤트
wrapper.on('click', '.remove_field', function(e) {
    e.preventDefault(); // 페이지 리로드 방지
    $(this).parent('.input_list').remove(); // 필드 제거
    fieldCount--; // 필드 수 감소
});
</script>
 
 

 

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

이 질문에 댓글 쓰기 :

답변 1

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

 


<?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];
 
$wr31epd = explode("|",$write['wr_31']);
 
$wr31epd = array_filter($wr31epd);
?>
 
<form method="post">
<input type="submit">
 
<p>
    <button class="add_field">add_field</button>
    <div class="input_wrap"></div>
</p>
 
<input type="submit">
</form>
 
<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; // 현재 입력 필드 수
 
// '추가하기' 버튼 클릭 시 이벤트
addButton.click(function(e, v = null) {
    e.preventDefault(); // 페이지 리로드 방지
    if (fieldCount < maxFields) { // 최대 필드 수 체크
        const value = v || '';
        fieldCount++; // 필드 수 증가
        // 새 입력 필드 추가
        wrapper.append(`
            <div class="input_list">
<br>
<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>
</tr></table>
<br>
<a href="javascript:void(0);" class="remove_field">삭제</a>
            </div>
        `);
    }
});
// '삭제' 링크 클릭 시 이벤트
wrapper.on('click', '.remove_field', function(e) {
    e.preventDefault(); // 페이지 리로드 방지
    $(this).parent('.input_list').remove(); // 필드 제거
    fieldCount--; // 필드 수 감소
});
 
<?php
foreach ($wr31epd as $v) {
    echo 'addButton.trigger("click", ["' . $v . '"]);';
}
?>
 
</script>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #css ×
전체 2,087
© SIRSOFT
현재 페이지 제일 처음으로