想实现:
登陆的时候,提交了 用户名 密码 ,
到后台验证,
通过,提交;没通过,则 只是刷新登陆框
实现了:
想实现的遇见了的问题:
会弹出 框框,点了确定又弹一个,说是js 未指明的错误
需要去掉这多余的框框,,,为什么会弹出来的
代码,不复杂,
先谢谢了:
分不够再加,我一两千分呢我 QQ 305954240
tel 13141439170
登陆的时候,提交了 用户名 密码 ,
到后台验证,
通过,提交;没通过,则 只是刷新登陆框
实现了:
想实现的遇见了的问题:
会弹出 框框,点了确定又弹一个,说是js 未指明的错误
需要去掉这多余的框框,,,为什么会弹出来的
代码,不复杂,
先谢谢了:
分不够再加,我一两千分呢我 QQ 305954240
tel 13141439170
<script language="javascript" type="text/javascript">
var req;
function validate2() {
var idField = document.getElementById("userName");
var url = "Validate.jsp?id=" + idField.value;
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = callback2;
req.send(null);
}
function callback2() {
if(req.status == 200) {
if(req.readyState == 4) {
//alert(req.responseText);
var msg1 = req.responseXML.getElementsByTagName("msg1")[0];
alert(msg1.childNodes[0].nodeValue);
setMsg2(msg1.childNodes[0].nodeValue);
}
}
}
function setMsg2(msg1) {
//alert(msg);
mdiv = document.getElementById("usermsg2");
if(msg1 == "invalid") {
flag=0;
mdiv.innerHTML = "<br><font color='red'>文件名已存在,请更换文件名!</font>";
} else {
flag=1;
mdiv.innerHTML = "<font color='green'>文件名可用!</font>";
}
}
</script>
<form name="formtest" method="post" action="bridge/cx.jsp" >
用户名:<input type=text name="userName" size="20" /><span id="usermsg2"></span><br>
密 码:<input type=password name="password" size="22"/><br><br>
<input type="button" name="submit" value="登录" onClick="validate2()"/>
<input type="reset" name="reset" value="重置"/>
</form>Validate.jsp
<%@ page language="java" pageEncoding="utf-8" import="java.sql.*,java.io.*,org.apache.struts.upload.*,org.apache.torque.util.Criteria,org.apache.struts.action.*,java.util.*,bit.sde.om.*,bit.sde.homework.util.*,bit.sde.homework.om.*"%>
<%
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-store"); //HTTP1.1
response.setHeader("Pragma", "no-cache"); //HTTP1.0
response.setDateHeader("Expires", 0); //prevents catching at proxy server Object object = request.getParameter("id");
String filenametemp = (String) object; //得到用户名
System.out.println("filenametemp: "+filenametemp); if(true){
if (false) {
response.getWriter().write("<msg1>invalid</msg1>");
} else {
response.getWriter().write("<msg1>valid</msg1>");
}
} System.out.println("***** test OK");
%>
提交到action里面
JS:
if(req.status == 200) {
if(req.readyState == 4) {
//返回hello word!-----(writer.println("hello word!");)
var a =httpRequest.responseText;
// hello word!
alert(a);
后台URL对应action里面:
JAVA:
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.println("hello word!");
writer.flush();
writer.close();
需要去掉这多余的框框,,,
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="javascript">
var http_request = false;
function send_request(url) {//初始化、指定处理函数、发送请求的函数
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.onreadystatechange = processRequest;
// 确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("GET", url, true);
http_request.send(null);
}
// 处理返回信息的函数
function processRequest() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
alert(http_request.responseText);
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
function userCheck() {
var f = document.form1;
var username = f.username.value;
if(username=="") {
window.alert("用户名不能为空。");
f.username.focus();
return false;
}
else {
send_request('sample1_2.jsp?username='+username);
}
}
</script>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head><body>
<form name="form1" action="" method="post">
用户名:<input type="text" name="username" value="">
<input type="button" name="check" value="唯一性检查" onClick="userCheck()">
<input type="submit" name="submit" value="提交">
</form>
<!--span style="cursor: pointer; text-decoration: underline" onclick="send_request('2.jsp?username=educhina')">Send a request</span-->
</body>
</html>
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
<%
String username = request.getParameter("username");
if("educhina".equals(username)) out.print("用户名已经被注册,请更换一个用户名。");
else out.print("用户名尚未被使用,您可以继续。");
%>
附上代码:供参考:
<script language="javascript" type="text/javascript">
var req;
function validate2() {
var idField = document.getElementById("userName");
var url = "Validate.jsp?id=" + idField.value ;
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = callback2;
req.send(null);
}
function callback2() {
if(req.readyState == 4) {
if(req.status == 200) {
var msg1 = req.responseXML.getElementsByTagName("msg1")[0];
setMsg2(msg1.childNodes[0].nodeValue);
}
}
}
function setMsg2(msg1) {
mdiv = document.getElementById("usermsg2");
if(msg1 == "invalid") {
flag=0;
mdiv.innerHTML = "<br><font color='red'>文件名已存在,请更换文件名!</font>";
} else {
flag=1;
mdiv.innerHTML = "<font color='green'>文件名可用!</font>";
formtest.submit();
}
}
</script>
<form name="formtest" method="post" action="bridge/cx.jsp" >
用户名:<input type=text name="userName" size="20" /><span id="usermsg2"></span><br>
密 码:<input type=password name="password" size="22"/><br><br>
<input type="button" name="submit1" value="登录" onClick="validate2()"/>
<input type="reset" name="reset" value="重置"/>
</form>
<%@ page language="java" pageEncoding="utf-8" import="java.sql.*,java.io.*,org.apache.struts.upload.*,org.apache.torque.util.Criteria,org.apache.struts.action.*,java.util.*,bit.sde.om.*,bit.sde.homework.util.*,bit.sde.homework.om.*"%>
<%
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-store"); //HTTP1.1
response.setHeader("Pragma", "no-cache"); //HTTP1.0
response.setDateHeader("Expires", 0); //prevents catching at proxy server
Object object = request.getParameter("id");
String filenametemp = (String) object; //得到用户名
System.out.println("filenametemp: "+filenametemp);
/*
//check the database
Criteria crit = new Criteria();
crit.add(DownloadFilePeer.FILENAME, realname);
List list = DownloadFilePeer.doSelect(crit);
*/
if(true){
if (true) {
response.getWriter().write("<msg1>invalid</msg1>");
} else {
response.getWriter().write("<msg1>valid</msg1>");
}
} System.out.println("***** test OK");
%>