我已经使用HTML创建了一个名为'Add Textbox‘的按钮,单击它会创建一个文本框。创建的文本框的变量名为'textid‘。现在,由于不可能有两个文本框具有相同的变量名,因此我创建了一个名为'addRowIndex‘的变量,并将其分配给每个文本框的变量名。因此,每个文本框的变量名都是'textid + addRowIndex‘。我想将这些文本框值插入到mysql数据库中。但是,当我输入值并单击submit时,输入的是空值,而不是输入的文本框值。另外,我无法将后续的文本框值插入数据库中。下面是我在整个过程中使用的HTML、Javascript和JSP的代码。
PS:我认为JSP代码中的'request.getParameter()‘写得不正确。以及应该在JSP中添加什么代码以便将后续文本框的值输入到数据库中。
HTML代码:
<html>
<head>
</head>
<body>
<button type="button" onclick="addRow()">Add Textbox</button>
</body>
</html>JAVACRIPT代码:
<script>
var addRowIndexArray = [];
function addRow() {
var addRowIndex = addRowIndexArray.length;
var createDiv = document.createElement("div");
createDiv.id = "innerDiv";
addRowIndexArray.push(document.body.appendChild(createDiv));
var createText = document.createElement("input");
createText.type = "text";
createText.id = "textid";
createText.name = "textid" + addRowIndex;
createDiv.appendChild(createText);
var createBr = document.createElement("br");
createDiv.appendChild(createBr);
};
</script>JSP代码:
<%
PreparedStatement ps = null;
ResultSet rs = null;
String driverName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/connection";
String user = "root";
String password = "nike";
String textBox = request.getParameter("textid + addRowIndex");
String sql1 = "insert into demo1 values('" + textBox + "')";
try {
Class.forName(driverName);
java.sql.Connection con = DriverManager.getConnection(url, user, password);
ps = con.prepareStatement(sql1);
Statement stmt = con.createStatement();
stmt.executeUpdate(sql1);
rs = ps.executeQuery();
con.close();
} catch (Exception e) {
System.err.println("Got an exception!");
System.err.println(e.getMessage());
}
%>发布于 2015-11-29 15:22:25
我不认为从其中获取请求对象和参数的方法是正确的,使用servlet或right.The控制器配置请求处理程序。然后,您可以映射一个url (mydomain/upload? row =mydata)并从您的行输入框中获取数据。
*或者,您可以使用jsp表单元素将索引行添加到表单中,并在单击提交按钮时上载所有行。有关使用spring MVC和上传表单数据的信息,请参阅此文档。http://www.mkyong.com/spring-mvc/spring-mvc-file-upload-example/
*如果你必须在点击addRow按钮时异步上传行,你应该考虑使用ajax/xhr。您可以找到参考here
https://stackoverflow.com/questions/33980019
复制相似问题