인풋 한개 일 때는 삭제가 되지 않게 하는 방법 문의 드립니다

인풋 한개 일 때는 삭제가 되지 않게 하는 방법 문의 드립니다

QA

인풋 한개 일 때는 삭제가 되지 않게 하는 방법 문의 드립니다

본문


<input style="float:right; margin:5px 2px" type="button" value="상품추가" onclick="ob_adRows.addRow()"/>
<table id="table1" cellspacing="0" cellpadding="0" width=100% >
            <tr class="sound_only">
                <th>구분</th>
            </tr>
            <?php 
                $wr31_cnt = count($wr_31x);
                    if(!$wr31_cnt){
                    $wr31_cnt = 1;
                    }
                for ($i = 0;  $i < $wr31_cnt; $i++) {
            ?>

            <tr>
<td style="padding:10px 0 10px 0;" align="center"> 
<p><input type="text" id="input1" name="wr_31x[]" value="상품명" style="border:hidden;" readonly><input type="text" id="input2" name="wr_32x[]" value="<?=$wr_32x[$i]?>">
<input type="text" id="input1" name="wr_33x[]" value="상품URL" style="border:hidden;" readonly><input type="text" id="input2" name="wr_34x[]" value="<?=$wr_34x[$i]?>"></p>
<br>
<p><input type="text" id="input1" name="wr_35x[]" value="가격" style="border:hidden;" readonly><input type="text" id="input2" name="wr_36x[]" value="<?=$wr_36x[$i]?>">
<input type="text" id="input1" name="wr_37x[]" value="수량" style="border:hidden;" readonly><input type="text" id="input2" name="wr_38x[]" value="<?=$wr_38x[$i]?>"></p>
<br>
<p><input type="text" id="input1" name="wr_39x[]" value="옵션" style="border:hidden;" readonly><input type="text" id="input3" name="wr_40x[]" value="<?=$wr_40x[$i]?>">

               
               
          <input type="button" value="삭제" class="tabledel_btn" onclick="ob_adRows.delRow(this)"/> </p>
                  
                </td>
            </tr>
</div>
            <?php } ?>
<table id="dyntbl1" cellspacing="0" cellpadding="0"></table>
<script>
            function adRowsTable(id){
                var table = document.getElementById(id);
                var me = this;
                    if(document.getElementById(id)){
                        var row1 = table.rows[1].outerHTML;
                        function setIds(){
                        var tbl_id = document.querySelectorAll('#'+ id +' .tbl_id');
                        for(var i=0; i<tbl_id.length; i++) tbl_id[i].innerHTML = i+1;
                    }
                    me.addRow = function(btn){
                    btn ? btn.parentNode.parentNode.insertAdjacentHTML('afterend', row1): table.insertAdjacentHTML('beforeend',row1);
                    setIds();
                    }
                    me.delRow = function(btn){
                    btn.parentNode.parentNode.outerHTML ='';
                    setIds();
                    }
                    }
                }
            var ob_adRows = new adRowsTable('table1');
</script>

기본적으로 한개 세트 필드가 처음에 보여지는데, 삭제버튼을 누르면 삭제가 되게 되어 있습니다.

혹시 한개 일때는 삭제 버튼을 눌렀을 때 1개 이상은 있어야 됩니다. 라는 팝업창이 뜨면서 , 삭제가 안되게 하는 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 2

삭제 할때 현재 wr_31[]이 몇개 있는지 체크를 해보시면 될거 같습니다. 갯수 체크는

jquery length 를  사용 하면 쉽게 구할수 있습니다.

사용법은 https://javacpro.tistory.com/41 를 한번 참고해보세요.

이건 애초에 소스가 잘못 되었네요.

하나의 웹페이지에서 동일한 id 를 두개 이상 사용하면 어떤 코드를 줘도 이벤트시에 삑사리가 납니다.

그게 name 이나 class 와 id 가 다른 점이죠.

Id 가 중복되지 않는 새로운 소스를 만들어서 재질문 해 주세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 2,429
QA 내용 검색

회원로그인

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