在写老师布置的酒店管理系统,在添加桌名的地方想添加验证,去网上看了下大概,自己写了下
我用的是jquery-1.8.3.min.js,下面贴代码
JS文件:
<script src="jquery-1.8.3.min.js"></script>
<script language="javascript">
function trim(str) { //删除左右两端的空格
return str.replace(/(^\s*)|(\s*$)/g, "");
}
$(function (){
$("#bName").blur(function(){
var name = trim($(this).val());
$.ajax({
type:"post",
async: false,
data:"name="+name,
url:"../../check",
success: function(data){
$("#error").html(data);
},error:function(){
alert("未访问到");
}
})
if(name.length==0){
$("#error").html("<font color='red'>输入不能为空!!!</font>");
}
})
})
function chOk(){
$("#bName").trigger("blur");
var error = $("#error").text();
if(error!=""){
alert("输入有误,请重新输入!");
return false;
}else{
return true;
}
}
</script>
HTML代码:
<body>
<div id="MainArea">
<!-- 表单内容 -->
<form action="../../save" method="post" οnsubmit="return chOk()">
<!-- 本段标题(分段标题) -->
<div class="ItemBlock_Title">
<img width="4" height="7" border="0" src="style/images/item_point.gif"> 新桌信息
</div>
<!-- 本段表单字段 -->
<div class="ItemBlockBorder">
<div class="ItemBlock">
<div class="ItemBlock2">
<table cellpadding="0" cellspacing="0" class="mainForm">
<tr>
<td width="80px">新桌名字</td>
<td><input type="text" id="bName" name="bName" class="InputStyle"/>*<span id="error"></span></td>
</tr>
</table>
</div>
</div>
</div>
<!-- 表单操作 -->
<div id="InputDetailBar">
<input type="submit" value="添加" οnclick="return chOk()" class="FunctionButtonInput">
<a href="javascript:history.go(-1);" class="FunctionButton">返回</a>
</div>
</form>
</div>
</body>
Servlet代码:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.ServerDao;
import dao.ServerDaoImpl;
public class CheckSaveTableServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String tname = request.getParameter("name");
ServerDao dao = new ServerDaoImpl();
PrintWriter out = response.getWriter();
String error = "<font color='red'>你输入的桌名已存在,请换一个!</font>";
try {
if (dao.checkTableName(tname)) {
out.write(error);
// out.flush();
out.close();
} else {
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ServerDaoImpl()里面的方法:
public Boolean checkTableName(String name) throws Exception {
Connection conn = BaseDao.getCon();
String sql = "select * from ttable where tname=?";
System.out.println(name);
PreparedStatement prep = conn.prepareStatement(sql);
prep.setString(1, name);
ResultSet rs = prep.executeQuery();
if (rs.next()) {
return true;
} else {
return false;
}
}
然后就会有效果了!