以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>
界面显示查询结果
:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)