GVKun编程网logo

ajax对表单验证(ajax提交form表单验证)

10

想了解ajax对表单验证的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于ajax提交form表单验证的相关问题,此外,我们还将为您介绍关于ajaxjquery异步表单验证、ajaxjquer

想了解ajax对表单验证的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于ajax提交form表单验证的相关问题,此外,我们还将为您介绍关于ajax jquery 异步表单验证、ajax jquery 异步表单验证示例代码、Ajax 表单验证 实现代码、Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法的新知识。

本文目录一览:

ajax对表单验证(ajax提交form表单验证)

ajax对表单验证(ajax提交form表单验证)

package ajaxservlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.sqlException;
import java.sql.Statement;

import javax.servlet.Requestdispatcher;
import javax.servlet.servletexception;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import db.DBconnection;

public class AjaxServlet extends HttpServlet {

	//private static final long serialVersionUID = 1L;

	public void destroy() {
		try {
			DBconnection.connectionClose();
		} catch (sqlException e) {
			// Todo Auto-generated catch block
			e.printstacktrace();
		}
	}

	public void doGet(HttpServletRequest request,HttpServletResponse response)
			throws servletexception,IOException {

		response.setContentType("text/html;charset=utf-8");
		response.setHeader("Cache-Control","no-cache");
		PrintWriter out=response.getWriter();
		
		String name=request.getParameter("username");
		String pass=request.getParameter("userpass");
		String pass2=request.getParameter("userpass2");
		
		String a=request.getParameter("a");
		String b=request.getParameter("b");
		
		System.out.println(name+" "+pass);
		System.out.println("a "+a);
		System.out.println("b "+b);
		request.setAttribute("name",name);
		System.out.println(name);
		
		try {
			if(checkName(name))
			{
				System.out.println(checkName(name));
				System.out.println("checkname="+name);
				out.write("用户名已经存在,请重新输入!");
				System.out.println("xxxxxxxxxxxxxxxxx");
				request.setAttribute("error.message","用户名已经存在");
			}
			else
			{
				out.write("此用户名合法");
			}
		} catch (sqlException e) {
			// Todo Auto-generated catch block
			out.close();
			e.printstacktrace();
		}
	}

	public boolean checkName(String name) throws sqlException   //检查用户名是否存在
	{
		boolean flag=false;
		Connection conn=DBconnection.getConnection();
		System.out.println("conn="+conn);
		/*String sql="select * from a_user where username='"+name+"'";
		System.out.println("name="+name);
		Statement state=conn.createStatement();
		ResultSet rs=state.executeQuery(sql);*/
		String sql="select * from a_user where username=?";
		PreparedStatement pstate=conn.prepareStatement(sql);
		pstate.setString(1,name);
		ResultSet rs=pstate.executeQuery();
		//System.out.println(rs.getInt(0));
		//System.out.println(rs.getString("username"));
		while(rs.next())
		{
			System.out.println("rs.getString(username)="+rs.getString("username"));
			flag=true;
		}
		return flag;
	}
	
	public void doPost(HttpServletRequest request,IOException {

		
		//response.setContentType("text/html");
		this.doGet(request,response);
	}

	
	public void init() throws servletexception {
		
	}

}
 
//以下是ajax部分
var xmlhttp;

function ajaxfun()
{
	
	if (window.XMLHttpRequest)
	  {// code for IE7+,Firefox,Chrome,Opera,Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6,IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	return xmlhttp;
}

window.onload=function()
{
	
	document.getElementById("username1").onblur=function()
	{
		var name=document.getElementsByName("username")[0].value;
		xmlhttp=ajaxfun();
		xmlhttp.onreadystatechange=check;
		//xmlhttp.open("get","http://localhost:8080/ajaxtest/AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);
		//以下是get方法传值
		/*xmlhttp.open("get","./AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);
		xmlhttp.send(null);*/
		
		/*
		 * 如果需要像 HTML 表单那样使用 POST 传递数据,请使用 setRequestHeader() 来添加 HTTP 头。
		 * 然后在 send() 方法中规定您希望发送的数据:
		 */
		xmlhttp.open("post",true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
		xmlhttp.send("a=100&b=222");
		
	}
	
}
function check()
{
	alert(xmlhttp.status);
	if(xmlhttp.readyState==4 && xmlhttp.status==200)
	{
		alert(xmlhttp.status);
		document.getElementById("span").innerHTML=xmlhttp.responseText;
	}
}

//jsp中的body部分
<body>
  <%--<form action="/ajaxtest/RegisteServlet" method="get">
  <form action="" method="get" enctype="application/x-www-form-urlencoded">
  --%>
  <form action="/ajaxtest/RegisteServlet" method="get">
   用户名:<input type="text" name="username" id="username1"/><span id="span"></span><br>
 密码:<input type="password" name="userpass"/><br>
 确认密码:<input type="password" name="userpass2"/><br>
 <input type="submit" value="提交"/>
  
  <input type="button" name="username" id="username1" value="点击"/>
  </form>
  </body>

ajax jquery 异步表单验证

ajax jquery 异步表单验证

文件目录:


HTML代码:

<html>
  <head>
    <title>异步表单验证</title>
	<script type='text/javascript' src='jquery.js' ></script>
	<script>
	 function checkname(){
	 //$("input[name='name']").val()
	   $.ajax({
	   type:"get",url:'index.PHP',data:"name="+$("input[name='name']").val(),success:function(msg){
	   $("#show").append(msg);
	   }
	   });
	   
	 }
	</script>
  </head>
  <body>
    <form name='form'>
      <input name='name' type='text'  onblur='checkname();'>
	  <span id='show'></span><br />
	  <input type='submit' name='submit' value='提交' />
	</form>
  </body>
</html>

PHP代码:
<?PHP
   //进行连接服务器
   $link=MysqL_connect('localhost','root','sanyue');
   if(!$link){
    die('连接失败:'.MysqL_error());
   }
   //进行连接数据库
   MysqL_select_db('excour',$link);
   
  // $name=$_GET['name'];
   echo $name;
   $sql="select name from user_info where name='$name'";

   //执行查询语句
   $result=MysqL_query($sql);


   if(MysqL_num_rows($result) != 0){
		echo "<font color='red'>名字太受欢迎,换一个吧</font>";
	}else{
		echo "<font color='blue'>成功</font>";
	}  
   
   //进行释放查询结果集
   MysqL_free_result($result);
   //关闭数据库连接
   MysqL_close($link);
?>

运行结果示例:

ajax jquery 异步表单验证示例代码

ajax jquery 异步表单验证示例代码

文件目录:

 

HTML代码:
复制代码 代码如下:

<html>
<head>
<title>异步表单验证</title>
<script type='text/javascript' src='jquery.js' ></script>
<script>
function checkname(){
//$("input[name='name']").val()
$.ajax({
type:"get",
url:'index.PHP',
data:"name="+$("input[name='name']").val(),
success:function(msg){
$("#show").append(msg);
}
});

}
</script>
</head>
<body>
<form name='form'>
<input name='name' type='text' onblur='checkname();'>
<span id='show'></span><br />
<input type='submit' name='submit' value='提交' />
</form>
</body>
</html>

PHP代码:
复制代码 代码如下:

<?PHP
//进行连接服务器
$link=MysqL_connect('localhost','root','sanyue');
if(!$link){
die('连接失败:'.MysqL_error());
}
//进行连接数据库
MysqL_select_db('excour',$link);

// $name=$_GET['name'];
echo $name;
$sql="select name from user_info where name='$name'";

//执行查询语句
$result=MysqL_query($sql);


if(MysqL_num_rows($result) != 0){
echo "<font color='red'>名字太受欢迎,换一个吧</font>";
}else{
echo "<font color='blue'>成功</font>";
}

//进行释放查询结果集
MysqL_free_result($result);
//关闭数据库连接
MysqL_close($link);
?>

运行结果示例:

Ajax 表单验证 实现代码

Ajax 表单验证 实现代码

兼容: opera 9.6 + chrome 2.0 + FF 3 + IE 6
效果:一边输入一边实现验证
image 
环境:ruby 1.8.6 + rails 2.1.0 + windows
核心代码:
html:
浏览器禁用javascript时显示提示信息:
复制代码 代码如下:

<noscript>
<div>您的浏览器不支持javascript,部分功能无法使用</div>
</noscript>

当浏览器禁用JS后,提交按钮不可用,实现客户端验证!
复制代码 代码如下:

<div id="js_support">
<p id="pSubmit"><input type="submit" name="registerform" value="注 册" onclick="return submitform();"/></p>
</div>
<script type="text/javascript">
$("js_support").style.display = "block";
</script>

通过javascript的onfocus和onkeyup实现监听表单域:
<input type="text"onfocus="checkLogin(this);" onkeyup="checkLogin(this);"/>
ajax的自动验证:其中用到一个bp.js,是已经封装好的xmlhttprequest对象的,可以到我下面的项目中下载到
复制代码 代码如下:

function checkLogin(node) {
clearError();
if (bp.String.trim(node.value)!="") {
var url = "/test/response_validate";
var params = [];
params["command"] = "logincheck";
params["login"] = encodeURI(bp.String.trim(node.value));
var v = validatePath("login",params["login"]);
if (v==""){
bp.Io.XhrGet({
url: url,
mimeType: "text/json",
params: params,
load: function(type, data, e) {
if (data==true){
loginError = document.getElementById("valstatus").innerHTML = ''登录名已存在'';
document.getElementById("loginValidate").className = "icon_cross";
node.className = "input_error";
loginValid = false;
} else {
loginError = "";
document.getElementById("loginValidate").className = "icon_ok";
node.className = "textbox";
loginValid = true;
}
},
error: function(type, data, e) {}
});
} else {
loginError = document.getElementById("valstatus").innerHTML = v;
document.getElementById("loginValidate").className = "icon_cross";
node.className = "input_error";
loginValid = false
}
} else {
loginError = validatePath("login", "");
document.getElementById("loginValidate").className = "";
node.className = "textbox";
}
}

后台:
这个是rails的后台,通过render :partial返回数据给客户端,当然可以是任何平台下的,例如java平台下的可以用servlet的out.println(...)返回
复制代码 代码如下:

def response_validate
if params[:login]
name = params[:login]
puts name
if name == "aaaaaa"
@value = true
render :partial => ''show_info''
else
@value = false
render :partial => ''show_info''
end
end
end

完整源码下载:
jsvalidate.rar
您可能感兴趣的文章:
  • asp+Ajax简单客户登陆验证
  • Ajax 用户名验证是否存在
  • jquery ajax 登录验证实现代码
  • Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
  • 基于jQuery实现的Ajax 验证用户名是否存在的实现代码
  • Ajax实时验证用户名/邮箱等是否已经存在的代码打包
  • PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
  • formvalidator验证插件中有关ajax验证问题
  • 解决ajax返回验证的时候总是弹出error错误的方法

Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法

Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法

1 什么是ajax

  ajax是一种用来改善用户体验的技术,其本质是利用浏览器提供的一个对象(XMLHttpRequest,也可称之为ajax对象) 向服务器发送异步请求;服务器返回部分数据(不是一个完整 的页面),浏览器利用这些数据对当前页面做部分更新; 整个过程,页面无刷新,不打断用户的操作。

  

  注意1:异步请求,指的是,当ajax对象发请求时,浏览器不会销毁当前页面,用户仍然可以对当前页面做其它的操作。

  

  注意2:打电话可以看成是同步请求,发短信可以看成是异步请求

  注意3:AJAX 不是一门的新的语言,而是对现有技术的综合利用;本质是在HTTP协议的基础上以异步的方式与服务器进行通信。

  

2 如何获取ajax对象

  

获取ajax对象源代码

3 ajax对象的几个重要属性

  a.onreadystatechange:绑订一个事件处理函数, 该函数用来处理readystatechange事件。
    注:当ajax对象的readystate属性值发生了改变, 比如,从0变成了1,则会产生readystatechange事件。
  b.readyState:有5个值(0,1,2,3,4),表示ajax对象与服务器通信的进展。其中,4表示ajax对象已经获得了服务器返回的所有的数据。
  c.responseText:获得服务器返回的文本数据。
  d.responseXML:获得服务器返回的xml数据。
  e.status:获得状态码。

4 使用ajax的编程步骤

  step1. 获得ajax对象。
    比如 var xhr = getXhr();
  step2. 发送请求。
    方式一: get请求
      xhr.open('get','checkuname.do?uname=Sally',true); xhr.onreadystatechange = f1; xhr.send(null);

        参数1:请求方式

        参数2:请求地址

        参数3:异步还是同步
          true:异步请求(默认是异步请求,二货才用ajax来实现同步请求【特殊情况除外】)
          false:同步请求(当ajax对象发送请求时,浏览器会锁 定当前页面,用户不能够对当前页面做任何操作)。
    方式二: post请求
      xhr.open('post','checkuname.do');

      xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');

      xhr.onreadystatechange = f1; xhr.send('uname=Sally'); 注:      按照http协议要求,如果发送的是post请求, 在请求数据包里面,应该包含有content-type消息头; 默认情况下,ajax对象不会添加该消息头,所以需要 调用setRequestHeader方法来添加。   step3. 编写服务器端的程序。通过只需要返回部分 数据(不再需要返回完整的页面)。   step4. 写事件处理函数。     例如:      function f1(){ if(xhr.readyState == 4 && xhr.status == 200){ //获得服务器返回的数据 var txt = xhr.responseText; //更新页面 ... } }

今天关于ajax对表单验证ajax提交form表单验证的分享就到这里,希望大家有所收获,若想了解更多关于ajax jquery 异步表单验证、ajax jquery 异步表单验证示例代码、Ajax 表单验证 实现代码、Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法等相关知识,可以在本站进行查询。

本文标签: