动态创建多个文本框

时间:2014-04-08 05:10:31

标签: java javascript jsp servlets

我正在创建一个Web应用程序,我将一个来自servlet的Int值传递给下一个jsp页面,如下所示:

request.setAttribute("n",n);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/sharingfilesselection.jsp");  
dispatcher.forward(request, response);

现在在下一页,即sharingfilesselection.jsp我希望动态创建n个文本框,每个文本框都有不同的id,因为我需要将这些文本框的值存储在我的数据库中。

N在下一个jsp页面上获得:

Object N=request.getAttribute("n");

如何使用javascript完成此操作?请帮助

3 个答案:

答案 0 :(得分:3)

您可以使用JSTL执行此操作:

<c:forEach var="i" begin="1" end="${n}">
    Input ${i}: <input type="text" name="txtDynamic_${i}" id="txtDynamic_${i}" />
    <br />
</c:forEach>

答案 1 :(得分:1)

试试吧 的 .javascript

<%String n=(String)request.getAttribute("n");%>
var n=<%=n%>;
for(var i=0;i<n;i++{
   $(".exac").append("<input type="text" id='textbox"+i+"'></input>");
    }
}

<强> html的

<div class="exac">
</div>

答案 2 :(得分:1)

Working sample here

  

HTML

<div id="container"><input type="button" onclick="createTextBox(5)" value="create textbox">

JS

function createTextBox(n) {

for (var i = 0; i < n; i++) {
    var textBox = document.createElement("input");

    textBox.setAttribute("id", "text_" + i);
    document.getElementById("container").appendChild(textBox);
}}