使用JSP跟踪Javascript中的重复元素

时间:2012-06-21 03:23:24

标签: javascript html jsp dom

这个问题与我的另一个question有关。感谢一些帮助,我现在能够在点击addButton时显示重复的元素。

我想跟踪已复制的元素数量。这也有助于为重复元素分配不同的id。

以下是我的代码示例:

<html>

<head>
<%! int n = 1; %>
<script type="text/javascript">

function onClickAdd() {

    var tableRow = document.getElementById("tableRow");
    var tableRowClone = tableRow.cloneNode(true);
    tableRowClone.id = 'tableRow'+<%=n%>;
    tableRow.parentNode.insertBefore(tableRowClone, tableRow.nextSibling);
}

</script>
</head>
<body>    
    <table>
        <tr id="tableRow">
            <td>
                  <fieldset>
                    <legend> This is box number <%=n++%> </legend>
                    <table>
                      <tr> 
                      </tr>
                    </table>
                  </fieldset>
            </td>
        </tr>

        <tr>
            <td>
                <input type="button" name="addButton" value="Add" onClick="Javascript:onClickAdd()">
            </td>
        </tr>
    </table>

</body>

</html>

如果您阅读我的其他问题,您会发现代码示例相似。现在,我想通过递增JSP整数n来打印出不同的图例。

到目前为止,所有重复项都在图例中显示“这是第1个方框”。似乎n不会增加到3以后。

我想表明n增加了为重复项分配ID。

1 个答案:

答案 0 :(得分:1)

当Javascript在客户端上运行时,JSP正在服务器端上生成HTML。这意味着,当Javascript正在运行时,页面已经使用值n(创建时为1)进行渲染。由于JSP未再次运行,n的值仍为1

解决方案:运行客户端(JS)上的所有内容,包括计数器。