会话变量递增/递减,js函数中的会话变量跟踪更新

session variable increment/decrement, session variable tracking on updates in js function

本文关键字:会话 变量 跟踪 更新 函数 递减 js      更新时间:2023-09-26

我的代码如下,

<?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,以便以后可以使用这个值。在任何时刻,会话变量都必须给出行的总数,而不考虑执行的行添加/删除的数量。

需要帮助,提前谢谢。

您需要使用ajax或图像对象,如下所示:

替换<script>标签:

<?php $_SESSION['rcount']++; ?>

签字人:

var img = new Image();
img.src = "?increment";

在头文件上,在$_SESSION['rcount']=1;之前添加以下行:

if(isset($_GET['increment'])) {
    $_SESSION['rcount']++;
    die();
}