大家都知道ajax并非一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成。

1.使用CSS和XHTML来表示。

2. 使用DOM模型来交互和动态显示。

3.使用XMLHttpRequest来和服务器进行异步通信。

4.使用javascript来绑定和调用。

--------------------------------------------------------------------------------------------------------------------------------------------------

在上面几中技术中,除了XmlHttpRequest对象以外,其它所有的技术都是基于web标准并且已经得到了广泛使用的,XMLHttpRequest虽然目前还没有被W3C所采纳,但是它已经是一个事实的标准,因为目前几乎所有的主流浏览器都支持它。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
var boo=false;
function sub(){
if(boo){
var f = document.getElementById("f1");
f.submit();
}
}
function val(obj){
var name = obj.value;
//alert(name);
if(name!=null){//按理还应该防护空串
document.getElementById("regName").value=name;
}
//document.getElementById("ff1").submit();
ff1.submit();//可以直接用id号来访问页面中的元素对象---该句等价于var f = document.getElementById("f1");
}

function back(res){
if(res==1){
boo = false;
msg.innerHTML="该用户名已存在,请换一个!";
}else{
boo = true;
msg.innerHTML="恭喜,该用户名可以注册!";
}
}
</script>

</head>

<body>
<h2>注册页面的表单验证----Ajax原理技术演示</h2>

<form id="f1" action="<%=path%>/RegServlet" method="post"><!--通过写一个RegServlet的java代码-->
Name:<input type="text" name="name" onblur="val(this);"/>
<label id="msg" style="color:red;"></label>
<br/>
Pwd:<input type="password" name="pwd"/><br/>
Tel:<input type="text" name="tel"/><br/>
QQ:<input type="text" name="qq"/><br/>
<input type="button" onclick="sub();" value="注册">
</form>

<!-- 专用于帮我们进行ajax提交用户名的小表单 -->
<form target="df" id="ff1" action="<%=path%>/ValServlet" method="post"><!--target必须是name属性,否则 不会显示 -->
<!--
<input id="regName" type="text" name="name" />
-->
<input id="regName" type="hidden" name="name" /><!--hidden是一个隐藏帧-->
</form>

<iframe name="df" > <!-- <iframe name="df" style="display:none; >这里是不展示出来-->
</iframe><!-- iframe标签是画中画-->

</body>
</html>

-----以上代码是通过在下面专门写一个ajax提交表单来验证信息的准确性来通过java代码重定向到另一个jsp页面中显示来显示信息--------------------------

最新文章

  1. C#添加测量运行时间
  2. EF &ndash; 1.模式
  3. Git Permission denied (publickey).
  4. HTML 的 &lt;div&gt; 和 &lt;span&gt; 标签
  5. 【译】C++工程师需要掌握的10个C++11特性
  6. PHP学习笔记04——数组
  7. VisualSVN_Server安装_配置图文教程
  8. 关于this的指向问题
  9. LINUX VPS 查看系统信息命令
  10. alsa音频驱动科普第一课
  11. [转载] 几张非常有意义的JavaScript基础学习思维图
  12. FPGA多时钟处理应用
  13. 一款好用的软件easyUI
  14. 逆向实战第一讲,寻找OllyDbg调试工具的Bug并修复
  15. bootstarp-fileinput上传 火狐防止拖入文件直接打开新页面
  16. 使用图片作为a标签的点击按钮时,当触发touchstart的时候,往往会有一个灰色的背景,想要去掉的话可以用下面这种方式
  17. Tomact高并发&amp;Servlet线程处理
  18. 如何在苹果手机上安装自制的AD证书
  19. Spring mvc session cookie实现自动登录
  20. python之路-----多线程与多进程

热门文章

  1. 重温XML
  2. redis高性能客户端 - redissdk
  3. Android开发UI之自定义动画
  4. new Option及用法
  5. 利用逻辑运算符?&quot;三个数字比大小
  6. 【 D3.js 进阶系列 — 6.2 】 饼状图的拖拽
  7. mat之一--eclipse安装Memory Analyzer
  8. Problem - 433C - Codeforces解题报告
  9. sublimelinter-jshinter
  10. shell 加法