隐藏帧---javaScript+iframe模仿ajax的点上通讯
来源:互联网 发布:c语言bool类型 编辑:程序博客网 时间:2024/06/09 21:59
当用户注册时:往往需要输入许多的数据(姓名,证件号,单位,手机号,学校等等)
然而当用户点击注册时,有时会提示用户已存在,注册失败,返回时用户输入的数据无效了,要重新输入,令用户无奈
然而Ajax的出现改变了这种情况,实现了点上通讯
当用户输入用户名,鼠标离开,点击其他信息输入框的那一刻,ajax采取点上通讯,只将用户名向后台数据库查询,返回相应信息,提示用户及时修改用户名,避免了用户再三的注册
在这,并非介绍ajax的技术,只是利用利用javaScript+iframe模仿Ajax的点上通讯实现的隐藏帧技术
验证用户是否存在的servlet代码:
然而当用户点击注册时,有时会提示用户已存在,注册失败,返回时用户输入的数据无效了,要重新输入,令用户无奈
然而Ajax的出现改变了这种情况,实现了点上通讯
当用户输入用户名,鼠标离开,点击其他信息输入框的那一刻,ajax采取点上通讯,只将用户名向后台数据库查询,返回相应信息,提示用户及时修改用户名,避免了用户再三的注册
在这,并非介绍ajax的技术,只是利用利用javaScript+iframe模仿Ajax的点上通讯实现的隐藏帧技术
界面jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <style type="text/css"> iframe{/* 隐藏,无需给用户看*/ display: none; } #isExists{ color: red; } </style> <script type="text/javascript"> function judge(flag) {//提供函数,以便iframe子框口调用 if(flag){ isExists.innerHTML="该用户已存在"; } } function validate(Node){ var value=Node.value; if(!value||value=="")//防止用户输入为空 return; userJudge.value=Node.value; //document.forms[1].submit(); judgeForm.submit();//向后台查询 } </script> </head> <body> <form action="regServlet" method="post"> 姓名:<input type="text" name="userName" onblur="validate(this)"/> <label id="isExists"></label><br/> 密码:<input type="password" name="userPwd"/><br/> <input type="submit" value="注册"> </form> <!-- target="dataFrame" :将返回结果 输出在dataFrame的iframe窗口中--> <form target="dataFrame" action="userJudgeServlet" method="post" id="judgeForm"> <!-- 使用隐藏的组件,记录用户输入的用户名,将此组件提交 --> <input type="hidden" name="userJudge" id="userJudge"/> </form> <iframe name="dataFrame"></iframe> </body></html>
验证用户是否存在的servlet代码:
package cn.hncu.jspStudy.servlets;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;public class UserJudgeServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();String userName=request.getParameter("userJudge");boolean flag=true;//封装数据(值对象),调用逻辑层/数据层查询//UserModel user=new UserModel();//user.setUserName(userName);//flag=UserDAOFactory.getInstance().queryUser(user);//支持用户名唯一性if(flag){out.print("<html><head>");out.print("<script type='text/javascript'>");out.print("parent.judge("+flag+");");//调用父窗口的函数out.print("</script></head><body>");out.print("</body></html>");}}}注册的servlet代码:
package cn.hncu.jspStudy.servlets;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;public class RegServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String userName=request.getParameter("userName"); String userPwd=request.getParameter("userPwd");//封装数据(值对象),调用逻辑层/数据层查询//UserModel user=new UserModel();//user.setUserName(userName); //user.setUserPwd(userPwd);//user=UserDAOFactory.getInstance().getSingerUser(user);//支持用户名唯一性//if(user!=null){ //request.getRequestDispatcher("path").forward(request, response);}}
0 0
- 隐藏帧---javaScript+iframe模仿ajax的点上通讯
- 隐藏的iframe
- 使用iframe解决AJAX javascript的跨域访问执行
- ajax无刷新上传文件,使用iframe模仿
- 用JavaScript隐藏网页上的按钮
- [javascript] iframe高度调整(随时自适应)(iframe加载ajax的chart图)
- 隐藏iframe技术——Ajax 时代一个重要的环节
- ajax效果模拟——隐藏的iframe无刷新效果
- Iframe的隐藏和显示
- IFrame的显示和隐藏
- 使用隐藏的iframe 隐藏form提交,仿AJax无刷新提交,可以实现无刷新上传文件
- 使用隐藏的iframe 隐藏form提交,仿AJax无刷新提交,可以实现无刷新上传文件
- Javascript使用上的几点考虑
- Javascript使用上的几点考虑
- [JAVASCRIPT] IFRAME VS AJAX 异步提交
- 不用ajax,采用隐藏iframe实现表单异步提交
- iframe隐藏
- ajax与iframe的比较
- CUDA学习笔记一:CUDA+OpenCV的图像转置,采用Shared Memory进行CUDA程序优化
- OpenCV 显示图像的凸包 Convex Hull 效果
- windbg停在无符号驱动的DriverEntry(WIN10)
- Shell编程---变量
- 题目477 A+B Problem III
- 隐藏帧---javaScript+iframe模仿ajax的点上通讯
- HDU-5775-Bubble Sort(线段树)
- 如何写出复杂业务查询的sql语句
- Android抓取log文件的方法
- HDU 5763 Another Meaning(多校4)
- AtomicInteger的CAS原理
- Spark学习使用笔记 - Scala篇(3)- 映射,元组
- IE WPAD代理设置工作原理
- jquery input 赋值和取值