2017-08-31 189 views
0

使用ajax发送多个参数并将数据保存到数据库中....并且在数据包的情况下,我希望数值在表单上保持不变我的意思是我不想我的形式重装那么,它是如何可能我是一个新手,请给您的宝贵建议使用ajax发送多个参数并将数据保存到数据库中

onsubmitbtn呼叫提交按钮

function onsubmitbtn(){ 
    var packet = document.getElementById("packet").value; 
    var name = document.getElementById("name").value; 
    var number = document.getElementById("number").value; 
    var sub = document.getElementById("sub").value; 
    var zipcode = document.getElementById("zcode").value; 
    var city = document.getElementById("city").value; 
    var weight = document.getElementById("weight").value; 
    var data = "packet=" +packet+ "&name="+name+ "&number="+number+ "&sub="+sub+ "&zipcode="+zipcode+ "&city="+city+ "&weight="+weight; 
     var request = new XMLHttpRequest(); 
     request.onreadystatechange = function() { 
      var response = request.responseText; 
     } 
     request.open("get", "PickUpInvertFormSubmit.jsp?"+data, true); 
     request.send();   
} 

我想在我的AJAX发送多个参数并保存在...中的价值我的数据库。如果数据包大于一个在这种情况下,我想,在提交,但在输入字段中的值将保持插入数据相同

JSP代码到数据库

String name = request.getParameter("name"); 
    String[] splt = client.replaceAll("\\s+", "").split("\\|"); 

    String number = request.getParameter("number"); 
    String sub = request.getParameter("sub"); 
    String zip = request.getParameter("zipcode"); 
    int z = Integer.valueOf(zip); 
    String city = request.getParameter("city"); 
    String pkt = request.getParameter("packet"); 
    int p = Integer.valueOf(pcs); 
    String weight = request.getParameter("weight"); 
    double w = Double.valueOf(weight); 
    Dbcon dbc = new Dbcon(); 
    Connection con = dbc.ConnDb(); 
     String query = "insert query" 
       + "VALUES (?,?,?,?,?,?,?,CURRENT_DATE,CURRENT_DATE,CURRENT_TIMESTAMP)"; 
     PreparedStatement psmt = null; 

     try { 
      psmt = con.prepareStatement(query); 

      psmt.setString(1, ....); 
      psmt.setString(2, .......); 
      psmt.setString(3, ........); 
      psmt.setInt(4, .......); 
      psmt.setString(5, .......); 
      psmt.setInt(6, ..........); 
      psmt.setDouble(7, .......); 

      psmt.executeUpdate(); 
     } catch (Exception e) { 
      System.out.println(e); 
      e.printStackTrace(); 
     } finally { 
      dbc.disconnect(null, null, null, psmt); 
     } 
    } 

此代码的工作完美当我的行动使用此代码

的onsubmit按钮事件我的表单字段得到刷新,并没有数据在数据库保存...

+0

我不知道你的问题是什么下载jQuery的,但'''PickUpInvertFormSubmit.jsp?data =“+ data'应该是''PickUpInvertFormSubmit.jsp?”+ data' –

+0

@JoshuaK我试试这个但是不起作用。 – tom

回答

0

使用这种

function onsubmitbtn() { 
    var packet = document.getElementById("packet").value; 
    var name = document.getElementById("name").value; 
    var number = document.getElementById("number").value; 
    var sub = document.getElementById("sub").value; 
    var zipcode = document.getElementById("zcode").value; 
    var city = document.getElementById("city").value; 
    var weight = document.getElementById("weight").value; 
         $.ajax({ 
          type: 'POST', 
          cache: false, 
          url: "PickUpInvertFormSubmit.jsp", 
          data: { 
           "packet": packet, 
           "name": name, 
           "number": number, 
           "sub": sub, 
           "zipcode": zipcode, 
           "city": city, 
           "weight": weight 
          }, 
          success: function (data, textStatus, jqXHR) { 
           successMethod(data); 
          }, 
          error: function (jqXHR, textStatus, errorThrown) { 
           errorMethod(errorThrown); 
          } 
         }); 
} 

您的数据不能提交后有所改变,也不能添加书签。

您还可以在ajax功能success值和AJAX方法error同样使用alert("success: " + data);

使用此功能,数据不会附加到浏览器的URL,也不必修改控制器/ jsp。

此方法将在后台调用URL,您可以在成功方法中执行清理。

也进口的jQuery在文档的头部标记为

<head> 
    <script type="text/javascript" src="jquery-3.2.1.js"></script> 
</head> 

你可以从这里Download jQuery | jQuery

希望这有助于:)

相关问题