一尘不染

如何在JSP页面中访问动态创建的文本框

jsp

如何访问textBox中的值以将其传递到SQL数据库。每行中文本框的唯一名称是什么?

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %> 
<html>
<head><title>orderSample</title>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
    $(document).ready(function() {
        $('.add').click(function() {
            $(this).closest('tr').find('.quantity').attr('disabled', !this.checked);
        });
    });
</script>


</head>
<body bgcolor="white">
<form method=post name=orderForm>
<h1>Data from the table 'item details' of database 'caffe' in sql </h1>
<%

System.out.println("adadadasasasasasasasasas");
int i = 0;
%>
<TABLE cellpadding="15" border="1" style="background-color: #ffffcc;">
   <TR>
         <TD>ORDER ID</TD>
        <TD>ORDER PRICE</TD>
        <TD>Quantity</TD>
        <TD>Add Item</TD>
        </TR>
    <%do{

        System.out.println("I am in Ob");
    %>
    <TR>
        <TD>asdadsas</TD>
        <TD>asdasdasd</TD>       
    <td><input type="checkbox" class="add" /></td>
    <td><input type="text" class="quantity" /></td>

       <!--  <td><INPUT TYPE="TEXT" NAME="NAME_TEXT<%=i%>" VALUE="" IsEnabled="{Binding ElementName=checkBox1, Path=IsChecked}"/></td>
        <td><INPUT TYPE="TEXT" NAME="NAME_TEXT<%=i%>" VALUE="" /></td>
        <td><input type="checkbox" name="others<%=i%>" onclick="enable_text(this.checked,<%=i%>)" ></td>-->
    </TR>
   <%i++; }while(i<2); %>
    </TABLE>
    </form>
</body>
</html>

阅读 279

收藏
2020-06-10

共1个答案

一尘不染

要么给他们全名

<td><input type="text" name="name" /></td>

这样你就可以使用

String[] values = request.getParameterValues("name");

或者给它们都加上相同的前缀

<td><input type="text" name="name${someDynamicValue}" /></td>

这样你就可以使用

for (Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
    if (entry.getKey().startsWith("name")) {
        String value = entry.getValue()[0];
        // Add to list?
    }
}

或当其为后缀时

<td><input type="text" name="name${index}" /></td>

然后使用

for (int i = 0; i < Integer.MAX_VALUE; i++) {
    String value = request.getParameter("name" + i);
    if (value == null) {
        break;
    }
    // Add to list?
}
2020-06-10