0

データベースから値をフェッチし、その値を動的にテーブルに格納するフォームを作成しています。ユーザーがボタンを押すと動的に行を追加するaddという名前のボタンがあり、追加された行をカウントする非表示のカウンターがあります。

問題は、レコードをフェッチすると、カウンターに存在する行数が表示され、新しい行を追加すると1に戻ることです。

テーブルに2つの行がある場合、カウンターには2が表示されますが、新しい行を追加しようとすると、カウンターには1が表示されます。

カウンターテキストの値をJavaScript変数に設定してインクリメントする方法はありますか?

これが私のJavaScriptコードです:

<script language="javascript" type="text/javascript">
    var jj= 1;
    alert(jj);
    function addRow()
    {
        //alert(jj)
        var tbl = document.getElementById('zimtable');
        var lastRow = tbl.rows.length;
        var iteration = lastRow - 1;
        var row = tbl.insertRow(lastRow);

        var firstCell = row.insertCell(0);
        var el = document.createElement('input');
        el.type = 'text';
        el.name = 'zimname_' + jj;
        el.id = 'zimname_' + jj;
        el.size = 40;
        el.maxlength = 40;
        firstCell.appendChild(el);

        var secondCell = row.insertCell(1);
        var el2 = document.createElement('input');
        el2.type = 'text';
        el2.name = 'zimmob_' + jj;
        el2.id = 'zimmob_' + jj;
        el2.size = 13;
        el2.maxlength = 13;
        secondCell.appendChild(el2);

        // alert(i);
        //$('#hh').val(jj); 
        jj++;
        makhtab.hh.value=jj;

        alert(jj);
    }
</script>

これがテーブルを表示するための私のphpコードです:

<?php

    $zim = mysql_query("SELECT * FROM `makhzim` WHERE makhcode='$newsid' ORDER BY srno")or die(mysl_error());
    $ctrzim = 0;
    while ($zrow = mysql_fetch_array($zim)){
        $ctrzim++;
        print '<script type="text/javascript">';
        print "alert('$i')";
        print '</script>';
        echo "<tr>";
        echo "<td><input name='zimname_$ctrzim' type='text'  size='40' maxlength='20' value=$zrow[name] /></td>";
        echo "<td><input name='zimmob_$ctrzim'  type='text'   size='13' maxlength='20' value=$zrow[mobile] /></td>";
        echo "</tr>";
    }
    echo "</table>";
    echo "<input type=\"button\" value=\"Add\" onclick=\"addRow();\" /><input id=\"hh\" name=\"hh\" type=\"text\" value= '$ctrzim'/>";
?>
4

1 に答える 1

0

PHPコードで、カウンターの値を隠し要素に入れます

<input type = "hidden"  id = "hiddenElementId" value = "your php counter value"/>

あなたのJavaScriptで

<script>
     var count;
     window.onload=function(){
         count =   =   document.getElementById("hiddenElementId").value;
     };
     function addRow() {
        alert(count);
        ..
        ..
        count++;
      }
<script>
于 2013-01-30T12:07:08.943 に答える