我正在创建一个从数据库中获取值并将值动态存储到表中的表单。我有一个名为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'/>";
?>
答案 0 :(得分: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>