【问题标题】:Get Values from Multiple textbox从多个文本框中获取值
【发布时间】:2016-03-19 12:43:07
【问题描述】:

我有多个文本框,如何从中获取价值。

$(function () {
    $("#btnAdd").bind("click", function () {
        var div = $("<div />");
        div.html(GetDynamicTextBox(""));
        $("#TextBoxContainer").append(div);
    });
    $("#btnGet").bind("click", function () {
        var values = "";
        $("input[name=a]").each(function () {
            values += $(this).val() + "\n";
        });
        alert(values);
    });
    $("body").on("click", ".remove", function () {
        $(this).closest("div").remove();
    });
});
function GetDynamicTextBox(value) {
    return '<input name = "a" type="text" value = "' + value + '" />&nbsp;' +
            '<input type="button" value="Remove" class="remove" />'
}
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<form method='POST' action='AddReqPo'>
<input id="btnAdd" type="button" value="Add" />
<br />
<br />
<div id="TextBoxContainer">
    <!--Textboxes will be added here -->
</div>
<br />
<input id="btnGet" type="button" value="Get Values" />
<input type='submit'>
</form>

我想将值保存到 servlet。但是当按钮提交发送值时,出现错误java.lang.NullPointerException。这是 servlet 文件。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub

    String[] a=request.getParameterValues("a");
        System.out.println(a[0]);
    response.sendRedirect("index.jsp");
}

【问题讨论】:

标签: javascript java jsp


【解决方案1】:

当您提交表单时,您的任何click 处理程序都不会工作(因为您不会使用preventDefault() 阻止默认提交操作),因此当您的表单提交时,servlet String[] a=request.getParameterValues("a"); 中的语句将设置anullSystem.out.println(a[0]); 这会抛出 NullPointerException

【讨论】:

  • 你能帮我解决这个问题吗?
  • @demahardika 在您的处理程序中使用 preventDefault() 并将您的 div 从表单中取出
  • @demahardika function handler(e) { e.preventDefault(); } 阅读:developer.mozilla.org/en/docs/Web/API/Event/preventDefault
  • @demahardika 用你的处理程序试试这个$("#btnAdd").bind("click", function (e) {e.preventDefault(); ..rest of code
  • 我是初学者,我对 js 很盲目。我不知道我必须把你的建议放在哪里
【解决方案2】:

代码运行正常。 Servlet 不可访问。 请尝试更改。

<form method='POST' action='AddReqPo'>

<form method='POST' action='<%=request.getContextPath()%>/AddReqPo'>

【讨论】:

    猜你喜欢
    • 2018-08-04
    • 2021-08-31
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多