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

时间:2015-11-18 19:21:14

标签: javascript php session

我的代码如下,

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

需要帮助,提前致谢。

1 个答案:

答案 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();
}