将HTML DOM值插入数据库

时间:2015-11-29 06:20:13

标签: javascript html mysql jsp

我创建了一个名为'添加文本框的按钮'使用HTML点击后会创建一个文本框。创建的文本框的变量名称是' textid'。既然没有两个文本框可以有相同的变量名,我创建了一个名为' addRowIndex'的变量。并将其分配给每个文本框的变量名称。因此,每个文本框的变量名称是' textid + addRowIndex'。我想将这些文本框值插入到mysql数据库中。但是,当我输入值并单击“提交”时,将输入空值而不是输入的文本框值。此外,我无法将后续文本框值插入数据库。下面是我用于完整过程的HTML,Javascript和JSP的以下代码。

PS:我认为' request.getParameter()'在JSP代码中没有正确编写。应该在JSP中添加什么代码,以便将后续文本框的值输入到数据库中。

HTML CODE:

<html>
  <head>
  </head>
  <body>
    <button type="button" onclick="addRow()">Add Textbox</button>
  </body>
</html>

JAVACRIPT CODE:

<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 CODE:

<%
        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());
        }


    %>

1 个答案:

答案 0 :(得分:0)

我不认为从中获取请求对象和参数的方式是正确的。正确的方法是使用servlet或spring控制器配置请求处理程序。 然后你可以映射一个url(mydomain / upload?row = mydata)并从你的行输入框中获取数据。

*或者你可以使用jsp表单元素来添加索引行以形成和点击提交按钮,所有行都将被上传。请参阅此内容以使用spring MVC并上传表单数据。 http://www.mkyong.com/spring-mvc/spring-mvc-file-upload-example/

*如果你必须在addRow按钮上异步上传行,你应该考虑使用ajax / xhr这样做。 你可以找到参考here

相关问题