【问题标题】:How do i fetch dynamically created text box values in jsp page? [duplicate]如何在 jsp 页面中获取动态创建的文本框值? [复制]
【发布时间】:2016-09-12 07:32:36
【问题描述】:

我对 JSP 文件中动态创建的文本框值有疑问。我的文件包含 HTML 和 Javascript (home.jsp) 和 JSP (abc.jsp)。

在这个例子中,我只能获取最初创建的文本框的值,我不能从动态创建的文本框中获取值。如何在运行时从 JSP 文件中的每个动态创建的文本框中获取值?如何获取运行时创建的文本框总数?

home.jsp

<script  src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>        
<script type="text/javascript">
    $(function() {
        var addDiv = $('#addinput');
        var i = $('#addinput p').size() + 1;

        $('#addNew').live('click', function() {
            $('<p><input type="text" id="p_new" size="20" name="p_new_' + i +'" value="" placeholder="I am New" /><input type="text" id="p_new1" size="20" name="p_new1_' + i +'" value="" placeholder="I am New" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
            i++;
            document.getElementById('raj').value = i;
            return false;
        });

        $('#remNew').live('click', function() {
            if (i > 2) {
                $(this).parents('p').remove();
                i--;
            }
            return false;
        });
    });
</script>
</head>
<body>
    <form action="abc.jsp" method="post">
        <h2>Dynammically Add Another Input Box</h2>
        <div id="addinput">
        <p>
            <input type="text" id="p_new" size="20" name="p_new" value="" placeholder="Input Value" /><input type="text" id="p_new1" size="20" name="p_new1" value="" placeholder="Input Value" /><a href="#" id="addNew">Add</a>
        </p>
    </div>
    <input type="submit" value="SUBMIT">
</form>
</body>
</html>`

abc.jsp

<%            
    String name = request.getParameter("p_new");
    String name1 = request.getParameter("p_new1");
    String name2 = request.getParameter("p_new_[0]");
    System.out.println(name);
    System.out.println(name1);
    System.out.println(name2);
%>

【问题讨论】:

  • BalusC 我不明白这个问题。请提供此问题的解决方案。

标签: javascript java jquery jsp servlets


【解决方案1】:

为输入字段提供相同的名称

然后使用getParameterValues('p_new')会返回字符串数组

更新

如果你发送多个输入,那么首先,第二个,即你的静态输入也用p_new重命名

那么你就可以使用getParameterValues('p_new')访问了

您的静态名称与动态创建的输入不匹配

【讨论】:

  • 在第 23 行处理 JSP 页面 /abc.jsp 时发生异常 String name2=request.getParameterValues("p_new_")[0];
  • 您已将i 附加到p_new_,您需要像p_new_ + i 一样访问它
  • 尝试 name2=request.getParameter("p_new_2");获取 name2 等等..for name3,name4...用相应的 OR 替换 2 通过发送计数来迭代它
  • 非常感谢您的工作,非常感谢 shantaram
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多