채택완료

무한행 추가 소스에서 한줄씩 추가시 자동으로 순자 1부터 입력 되게 하고 싶습니다

2019-06-28 (금) 13:08:47 4,292

무한행 추가 소스에서 한줄씩 추가시 자동으로 순자 1부터 입력 되게 하고 싶습니다

아래 소스에 보면은 "등수" 에 한행추가 할대마다 숫자 1부터 추가한 행 만큼 숫자가 입력 되게 하고 싶습니다.

고수님 도와 주세요

감사 합니다.

function addRow() {
    var oRow = dyntbl1.insertRow();
        oRow.onmouseover=function(){dyntbl1.clickedRowIndex=this.rowIndex};
        if(navigator.userAgent.indexOf("MSIE")){
        var oCell1 = oRow.insertCell();
        var oCell2 = oRow.insertCell();
        var oCell3 = oRow.insertCell();
        var oCell6 = oRow.insertCell();
        oCell1.innerHTML = "<input class='frm_input_a' required name=wr_body_1[] itemname='등수' value=' 등' style='width:60px; padding:0 5px;'>";
        oCell2.innerHTML = "<input class='frm_input_b' name=wr_body_2[] itemname='당첨자명단' style='width:120px; padding:0 5px;'>";
        oCell3.innerHTML = "<input class='frm_input_c' name=wr_body_3[] itemname='내용' style='width:750px; padding:0 5px;'>";
        oCell6.innerHTML = "<input type=button value=\" 삭제 \" onClick=\"delRow()\" style='width:32px; padding:0;'>";
        document.recalc();
        }
        else if(navigator.userAgent.indexOf("Chrome")){
        var oCell1 = oRow.insertCell();
        var oCell2 = oRow.insertCell();
        var oCell3 = oRow.insertCell();
        var oCell6 = oRow.insertCell();
        oCell1.innerHTML = "<input class='frm_input_a' required name=wr_body_1[] itemname='등수' value=' 등' style='width:60px; padding:0 5px;'>";
        oCell2.innerHTML = "<input class='frm_input_b' name=wr_body_2[] itemname='당첨자명' style='width:120px; padding:0 5px;'>";
        oCell3.innerHTML = "<input class='frm_input_c' name=wr_body_3[] itemname='내용' style='width:750px; padding:0 5px;'>";
        oCell6.innerHTML = "<input type=button value=\" 삭제 \" onClick=\"delRow()\" style='width:32px; height:24px; padding:0;'>";
        }
}

<? for ($i = 0;  $i < count($wr_body_1); $i++) { ?>
    <tr height="30" id=v_<?=$i?>>
        <td style="width:60px; padding:0 5px;"><input class='frm_input_a' required name=wr_body_1[] itemname='등수' value='<?=$wr_body_1[$i]?>등' maxlength='40'></td>
        <td style="width:120px; padding:0 5px;"><input class='frm_input_b' name=wr_body_2[] itemname='당첨자명' value='<?=$wr_body_2[$i]?>' maxlength='160' /></td>
        <td style="width:750px; padding:0 5px;"><input class='frm_input_c' name=wr_body_3[] itemname='내용' value='<?=$wr_body_3[$i]?>'></td>
        <td style="width:40px; padding:0 5px;"><input type=button value=" 삭제 " onClick="delRow_php(this)"></td>
    </tr>
<? } ?>

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
2019-06-28 (금) 15:07:30

일단 직접 실행해볼수 없어서 눈으로만 보고있습니다.

loop 는 자바스크립트 변수이므로 php변수로 사용할수 없습니다.

아래코드로 대체한번 해보세요.

var loop=0; // 초기화 위로올림


function addRow() {
 loop++;

 var oRow = dyntbl1.insertRow();
 oRow.onmouseover=function(){dyntbl1.clickedRowIndex=this.rowIndex};
 if(navigator.userAgent.indexOf("MSIE")){
 var oCell1 = oRow.insertCell();
 var oCell2 = oRow.insertCell();
 var oCell3 = oRow.insertCell();
 var oCell6 = oRow.insertCell();
 
 oCell1.innerHTML = "<input class='frm_input_a' required name=wr_body_1[] itemname='등수'  style='width:60px; padding:0 5px;'>";
 oCell2.innerHTML = "<input class='frm_input_b' name=wr_body_2[] itemname='당첨자명단' style='width:120px; padding:0 5px;'>";
 oCell3.innerHTML = "<input class='frm_input_c' name=wr_body_3[] itemname='내용' style='width:750px; padding:0 5px;'>";
 oCell6.innerHTML = "<input type=button value=\" 삭제 \" onClick=\"delRow()\" style='width:32px; padding:0;'>";
 document.recalc();
 }
 else if(navigator.userAgent.indexOf("Chrome")){
 var oCell1 = oRow.insertCell();
 var oCell2 = oRow.insertCell();
 var oCell3 = oRow.insertCell();
 var oCell6 = oRow.insertCell();
 oCell1.innerHTML = "<input class='frm_input_a' required name=wr_body_1[] itemname='등수' style='width:60px; padding:0 5px;'>";
 oCell2.innerHTML = "<input class='frm_input_b' name=wr_body_2[] itemname='당첨자명' style='width:120px; padding:0 5px;'>";
 oCell3.innerHTML = "<input class='frm_input_c' name=wr_body_3[] itemname='내용' style='width:750px; padding:0 5px;'>";
 oCell6.innerHTML = "<input type=button value=\" 삭제 \" onClick=\"delRow()\" style='width:32px; height:24px; padding:0;'>";
 }


 //추가
 $(".frm_input_a").eq(loop-1).val(loop);

 }

2019-06-28 (금) 13:50:40

위 소스만 가지고, 테스트를 할수없지만

addRow() 함수안에

var loop=0;
     loop++;

자바스크립트 변수 loop 를 출력하면  추가 할때마다 순차적으로 +1 씩 찍히지 않을까요?

답변에 대한 댓글 1개

귀찬게 해드려서 죄송합니다.

아래처럼 수정하는거 맛습니까?

아래처럼 수정햇는데 숫자 출력 않됩니다.


function addRow() {
var loop=0;
loop++;

var oRow = dyntbl1.insertRow();
oRow.onmouseover=function(){dyntbl1.clickedRowIndex=this.rowIndex};
if(navigator.userAgent.indexOf("MSIE")){
var oCell1 = oRow.insertCell();
var oCell2 = oRow.insertCell();
var oCell3 = oRow.insertCell();
var oCell6 = oRow.insertCell();
oCell1.innerHTML = "<input class='frm_input_a' required name=wr_body_1[] itemname='등수' value='<?php echo $loop ?> 등' style='width:60px; padding:0 5px;'>";
oCell2.innerHTML = "<input class='frm_input_b' name=wr_body_2[] itemname='당첨자명단' style='width:120px; padding:0 5px;'>";
oCell3.innerHTML = "<input class='frm_input_c' name=wr_body_3[] itemname='내용' style='width:750px; padding:0 5px;'>";
oCell6.innerHTML = "<input type=button value=\" 삭제 \" onClick=\"delRow()\" style='width:32px; padding:0;'>";
document.recalc();
}
else if(navigator.userAgent.indexOf("Chrome")){
var oCell1 = oRow.insertCell();
var oCell2 = oRow.insertCell();
var oCell3 = oRow.insertCell();
var oCell6 = oRow.insertCell();
oCell1.innerHTML = "<input class='frm_input_a' required name=wr_body_1[] itemname='등수' value='<?php echo $loop ?> 등' style='width:60px; padding:0 5px;'>";
oCell2.innerHTML = "<input class='frm_input_b' name=wr_body_2[] itemname='당첨자명' style='width:120px; padding:0 5px;'>";
oCell3.innerHTML = "<input class='frm_input_c' name=wr_body_3[] itemname='내용' style='width:750px; padding:0 5px;'>";
oCell6.innerHTML = "<input type=button value=\" 삭제 \" onClick=\"delRow()\" style='width:32px; height:24px; padding:0;'>";
}
}

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