我的代码如下,
<?php
session_start();
if(isset($_SESSION['rcount']))
$_SESSION['rcount']=1;
?>
<HTML>
<HEAD>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell2 = row.insertCell(0);
cell2.innerHTML = rowCount + 1;
<?php $_SESSION['rcount']++; ?>
var cell1 = row.insertCell(1);
var element1 = document.createElement("input");
element1.type = "text";
element1.name="text[]";
cell1.appendChild(element1);
var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
cell3.appendChild(element2);
}
function deleteRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var text = row.cells[0].childNodes[0];
if(i==rowCount-1) {
table.deleteRow(i);
rowCount--;
<?php $_SESSION['rcount']--; ?>
i--;
}
}
}
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="button" value="Add Row" onclick="addRow('dataTable')" />
<INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" />
<form action = "<?php echo $_SERVER['PHP_SELF']; ?>" method = "POST">
<TABLE id="dataTable" width="350px" border="1">
<TR>
<TD> <?php echo $_SESSION['rcount']; ?> </TD>
<TD><INPUT type="text" name="chk"/> </TD>
<TD> <INPUT type="text" /> </TD>
</TR>
</TABLE>
<input name="submit" type="submit" value="SUBMIT">
</form>
<?php echo 'status of rcont ='.$_SESSION['rcount']; ?>
</BODY>
</HTML>
在上面的代码中,我动态填充新行并删除最后一行。我已经使用addrow和deleterow javascript函数实现了这些操作。但是,我想跟踪php会话变量rcount,以便我以后可以使用此值。在任何时刻,会话变量必须给出总行数,而不管执行的行添加/删除的数量。
需要帮助,提前致谢。
答案 0 :(得分:0)
您需要使用ajax或image对象,如下所示:
替换<script>
代码:
<?php $_SESSION['rcount']++; ?>
通过:
var img = new Image();
img.src = "?increment";
在头文件上,$_SESSION['rcount']=1;
之前添加以下行:
if(isset($_GET['increment'])) {
$_SESSION['rcount']++;
die();
}