js或jQuery如何实现提交form表单,保存数据到数据库,同时打开一个新的窗口,并且带入刚保存的数据的ID

js或jQuery如何实现提交form表单,保存数据到数据库,同时打开一个新的窗口,并且带入刚保存的数据的ID,第1张

这个建议你用ajax来完成。

以jq的ajax为例

==============

$("#form").submit(function(){

var strArray=$(this).serializeArray()//将form表单转为数组形式序列化表单

$.post("你要提交的后台页面地址",strArray,function(result,status){

//result是由后台返回的id

//status是状态,为success时成功。

if(status=="success"){

window.open("要打开的新窗口地址?id="+result)//打开一个新窗口,并用get方法传入id

}

})

return false//此句是防止页面提交

})

=================

以上是jq代码

后台代码,要看你用的是什么语言了。

比如说php,有个msyql_insert_id()可以获取最后一条插入记录的id。

如果是asp,可以用select top 1 id from 表 order by id desc的方法来获取id。

=================

后台插入数据库的代码,就由你自己来写了。

新打开的窗口,只需获取id即可

第一次写这种文章。

1.    原生js中,form表单在提交数据的时候默认的编码格式是application/x-www-form-urlencoded

2.    如果表单中有文件需要上传,那么必须在form元素中添加除了action和method(如果是get请求,可以不添加method属性。默认情况下,form表单以get方式提交表单数据)之外的第3个属性enctype,并且设置enctype="multipart/form-data"。

参考页面: HTML

jsp通过提交表单执行到的action直接 *** 作service进而调用dao接口插入然后返回到servlet控制状态即可。

举例:

index.jsp页面代码如下:

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%> 

<%@ page contentType="text/htmlcharset=utf-8"%> 

<%  

   request.setCharacterEncoding("UTF-8")  

   response.setCharacterEncoding("UTF-8")  

   response.setContentType("text/htmlcharset=utf-8")  

%>  

<html> 

<head> 

<title>add message into table </TITLE> 

</head> 

<body> 

<% 

String id=request.getParameter("id")//从表单获得 

String name=request.getParameter("name")//从表单获得 

String sex=request.getParameter("sex")//从表单获得 

String age=request.getParameter("age")//从表单获得 

java.util.Date date=new java.util.Date() 

String datetime=new Timestamp(date.getTime()).toString() 

try 

/** 连接数据库参数 **/ 

String driverName = "com.mysql.jdbc.Driver"//驱动名称 

String DBUser = "root"//mysql用户名 

String DBPasswd = "123456"//mysql密码 

String DBName = "html_db"//数据库名 

String connUrl = "jdbc:mysql://localhost/" + DBName + "?user=" + DBUser + "&password=" + DBPasswd 

Class.forName(driverName).newInstance() 

Connection conn = DriverManager.getConnection(connUrl) 

Statement stmt = conn.createStatement() 

stmt.executeQuery("SET NAMES UTF8") 

String insert_sql = "insert into person_tb values('" + id + "','" + name + "','" + sex + "','" + age + "')" 

String query_sql = "select * from person_tb" 

try { 

stmt.execute(insert_sql) 

}catch(Exception e) { 

e.printStackTrace() 

try { 

ResultSet rs = stmt.executeQuery(query_sql) 

while(rs.next()) { 

%> 

ID:<%=rs.getString("id")%></br> 

姓名:<%=rs.getString("name")%></br> 

性别:<%=rs.getString("sex")%></br> 

年龄:<%=rs.getString("age")%></br></br> 

<% 

}catch(Exception e) { 

e.printStackTrace() 

//rs.close() 

stmt.close() 

conn.close() 

}catch (Exception e) { 

e.printStackTrace() 

%> 

</body> 

</html>

界面显示查询结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10822934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存