一个小问题 我的积分不多帮忙 我是新手 感谢CSDN的朋友帮我解决了很多问题呵呵 现在是这样的 页面注册用户的时候 我用ajax验证用户名是否存在 成功了 该用户的用户名在数据库已存在 已经提示他“用户名已被占用”现在 我需要提交表单 当用户点击提交表单的时候如果我用JS 清空文本框 这样不好 那我要怎么做才能再一次的提醒他 “用户名已被占用” 并保留他原来的的注册的帐号并且阻止他提交表单 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 onclick 上 onsubmit =(return false) 我数据库是 SQL2000的 测试表是 TB_USER 字段就一个 username 记录2条adminzhuchao测试页面2个regist.jspJava code<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <script type="text/javascript"> function to(){ var name=document.getElementById("username").value; var url="dbop.jsp?username="+encodeURI(encodeURI(name)); //处理中文 var xmlHttpRequest=new ActiveXObject("microsoft.xmlhttp"); xmlHttpRequest.open("post",url,true); xmlHttpRequest.send(null); xmlHttpRequest.onreadystatechange=function(){ if(xmlHttpRequest.readystate==4 && xmlHttpRequest.status==200){ ajax.innerHTML = xmlHttpRequest.responseText; } } } </script> </head> <body><div id="ajax"></div> <form name="name1"> 请输入注册ID:<input id="username" type="text" name="username" value=""/><br> <input type="button" value="注册" onclick="to()"> </form> </body></html>dbop.jspJava code<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%@page import="java.net.URLDecoder"%><%@page import="java.sql.*"%><% String name = URLDecoder.decode(request.getParameter("username"),"utf-8");//处理中文 Connection conn=null; Statement statement = null; ResultSet rs=null; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test","sa", "sa"); statement=conn.createStatement(); rs=statement.executeQuery("select username from tb_user where username = '"+name+"'"); if(rs.next()){ out.print("此ID已存在!"); }else{ out.println("此ID可注册!"); } }catch(Exception exception){ exception.printStackTrace(); }finally{ rs.close(); statement.close(); conn.close(); } %>第一个页面你输入好点击 注册 不刷新页面 会有提示信息。你不喜欢提交这个事件可以选别的,只要你喜欢。 form的onsubmit里加处理<script>function checkSubmit(){ //判断用户名是否被占用,如果被占用就像以下处理 alert("用户名被占用"); return false;}</script><form onsubmit="return checkSubmit()"> <input type="submit" value="提交"/></form> <script>function checkSubmit(){ //判断用户名是否被占用,如果被占用就像以下处理 alert("用户名被占用"); return false;}</script><form onsubmit="return checkSubmit()"> <input type="submit" value="提交"/></form> 幸亏大家了 问题解决了 附上代码:页面:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>AJAX</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <script type="text/javascript"> var xmlHttpRequest; var str = null; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttpRequest = new XMLHttpRequest(); } } function yzName(name) { var userInfo = document.getElementById('userName2').value; if (userInfo == "") { var str = "<font color=red>帐号不能为空</font>"; document.getElementById('rest').innerHTML = str; return false; } createXMLHttpRequest(); xmlHttpRequest.onreadystatechange = assignCallBack; var url = "ajaxText.action?userName3=" + name; xmlHttpRequest.open("post", url, true); xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttpRequest.send(null); } function assignCallBack() { if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) { str = xmlHttpRequest.responseText; document.getElementById('rest').innerHTML = str; } } function checkForm() { var regu = "^(<font color=red>X</font> <font color=red>该帐号已被注册</font>)"; var abc = str; var re = new RegExp(regu); if (abc.search(re) != -1) { alert('请重新写帐号'); document.getElementById('userName2').focus(); } else { myForm.submit(); } }</script> <body> <form action="index.jsp" name="myForm"> <table> <tr> <td> <input type="text" name="userName2" id="userName2" onblur="yzName(this.value)"> </td> <td> <div id="rest"></div> </td> </tr> <tr> <td> </td> <td> <input type="button" onclick=checkForm(); value="注册"> </td> </tr> </table> </form> </body></html>ACTION类: public String ajaxText() throws Exception{ response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); String name = request.getParameter("userName3"); User a = userService.findUserByName(name); System.out.println("---------------------- "+a); if(a != null){ String str = "<font color=red>X</font> <font color=red>该帐号已被注册</font>"; out.println(str); }else{ String str = "<img src='images/accept.png' />"; session.put("str", str); out.println(str); } out.close(); return null; } Web服务器端自动下载更新问题 Struts1怎么实现登录跳转的功能(见帖子内容要求) 现在做JAVA项目都用什么开发工具啊 这段代码如何使用? 二级联动实现不了,请高手指教 导出数据到Excel问题 .\SessionUser.java:8: duplicate class: chatroompro.SessionUser(编译报错,请求改答—— 本人求关于城市信息港的源码! 有的朋友请和我联系QQ:249841933 谢谢! 怎么把ASP与VC的结合 请给于指点!我想在网页上实现多次查询! 调用JS问题 ssh的配置问题,struts-2.1.dtd出错
字段就一个 username
记录2条
admin
zhuchao测试页面2个regist.jsp
Java code
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function to(){
var name=document.getElementById("username").value;
var url="dbop.jsp?username="+encodeURI(encodeURI(name)); //处理中文
var xmlHttpRequest=new ActiveXObject("microsoft.xmlhttp");
xmlHttpRequest.open("post",url,true);
xmlHttpRequest.send(null);
xmlHttpRequest.onreadystatechange=function(){
if(xmlHttpRequest.readystate==4 && xmlHttpRequest.status==200){
ajax.innerHTML = xmlHttpRequest.responseText;
}
}
}
</script>
</head>
<body><div id="ajax"></div>
<form name="name1">
请输入注册ID:<input id="username" type="text" name="username" value=""/><br>
<input type="button" value="注册" onclick="to()">
</form>
</body>
</html>
dbop.jspJava code<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="java.sql.*"%>
<%
String name = URLDecoder.decode(request.getParameter("username"),"utf-8");//处理中文
Connection conn=null;
Statement statement = null;
ResultSet rs=null;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test","sa", "sa");
statement=conn.createStatement();
rs=statement.executeQuery("select username from tb_user where username = '"+name+"'");
if(rs.next()){
out.print("此ID已存在!");
}else{
out.println("此ID可注册!");
}
}catch(Exception exception){
exception.printStackTrace();
}finally{
rs.close();
statement.close();
conn.close();
}
%>第一个页面你输入好点击 注册 不刷新页面 会有提示信息。
你不喜欢提交这个事件可以选别的,只要你喜欢。
function checkSubmit(){
//判断用户名是否被占用,如果被占用就像以下处理
alert("用户名被占用");
return false;
}
</script>
<form onsubmit="return checkSubmit()">
<input type="submit" value="提交"/>
</form>
function checkSubmit(){
//判断用户名是否被占用,如果被占用就像以下处理
alert("用户名被占用");
return false;
}
</script>
<form onsubmit="return checkSubmit()">
<input type="submit" value="提交"/>
</form>
附上代码:
页面:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>AJAX</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head>
<script type="text/javascript">
var xmlHttpRequest;
var str = null;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttpRequest = new XMLHttpRequest();
}
}
function yzName(name) {
var userInfo = document.getElementById('userName2').value;
if (userInfo == "") {
var str = "<font color=red>帐号不能为空</font>";
document.getElementById('rest').innerHTML = str;
return false;
}
createXMLHttpRequest();
xmlHttpRequest.onreadystatechange = assignCallBack;
var url = "ajaxText.action?userName3=" + name;
xmlHttpRequest.open("post", url, true);
xmlHttpRequest.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
xmlHttpRequest.send(null);
}
function assignCallBack() { if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
str = xmlHttpRequest.responseText;
document.getElementById('rest').innerHTML = str;
}
} function checkForm() {
var regu = "^(<font color=red>X</font> <font color=red>该帐号已被注册</font>)";
var abc = str;
var re = new RegExp(regu);
if (abc.search(re) != -1) {
alert('请重新写帐号');
document.getElementById('userName2').focus();
} else {
myForm.submit();
}
}
</script> <body>
<form action="index.jsp" name="myForm">
<table>
<tr>
<td>
<input type="text" name="userName2" id="userName2"
onblur="yzName(this.value)">
</td>
<td>
<div id="rest"></div>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="button" onclick=checkForm(); value="注册">
</td>
</tr>
</table>
</form> </body>
</html>
ACTION类: public String ajaxText() throws Exception{
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String name = request.getParameter("userName3");
User a = userService.findUserByName(name);
System.out.println("---------------------- "+a);
if(a != null){
String str = "<font color=red>X</font> <font color=red>该帐号已被注册</font>";
out.println(str);
}else{
String str = "<img src='images/accept.png' />";
session.put("str", str);
out.println(str);
}
out.close();
return null;
}