0

我正在创建一个从数据库中获取值并将值动态存储到表中的表单。我有一个名为 add 的按钮,当用户按下它时会动态添加一行,我有一个隐藏的计数器来计算添加的行。

问题是,当我获取记录时,计数器显示存在的行数,当我添加新行时,它又回到 1。

如果表中有两行,计数器将显示 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 回答