ajax+php+js实现异步刷新表单验证
创建ajax对象
//创建对象
function createAjax(){
var request =false;
//IE浏览器,window对象存在ActiveXObject属性
if(window.ActiveXObject){
try{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(othermicrosoft){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
}catch(failed){
request = false;
}
}
} //非IE浏览器,window对象存在XMLHttpRequest属性
if(window.XMLHttpRequest){
request = new XMLHttpRequest(); if (request.overrideMimeType) {
request.overrideMimeType("text/xml");
}
}
return request;
}
页面js语句触发事件
<input type="text" id="search_input" placeholder="智能搜索" onkeydown="search('total_marks')" onkeyup="result('total_marks')" style="border-color:#32CD32;border-radius:5px;">
调用的js方法
var content = document.getElementById("total_marks").innerHTML;
function search(id){
var search = document.getElementById(id);
search.innerHTML = "<div style='margin-left:200px;'>正在搜索...请稍候...</div>";
}
//获取数据
function search_result(){
var ajax = null;
// alert(ajax);每次请求都要求使用一个新的XMLHttpRequest
var div_ajax = document.getElementById("search_input");
var val = div_ajax.value;
ajax = createAjax();
ajax.onreadystatechange=function(){
// alert(ajax.readyState);//可知当状态值为4时,才能取值
if(ajax.readyState == 4){
// alert(ajax.status);
if(ajax.status == 200){
var data = ajax.responseText;//数据都返回在responsetext中
document.getElementById('total_marks').innerHTML = data;
}else{
alert('页面请求失败!');
}
}
}
url = "../bookmarks/js/search.php?key="+val;
//如果使用get,就直接通过url直接将数据传给服务器
ajax.open("get",url,true);
ajax.send(null);
}
function result(id){
if (document.getElementById("search_input").value == "") {
document.getElementById(id).innerHTML = window.content;
}else{
setTimeout(search_result,1000)
};
}
请求的php代码
<?php
//最好设定字符集,不然在ajax中默认的字符集会导致出错
require_once("../db.php");
header("Content-Type:text/html;charset=utf-8"); $sql = "SELECT icon,content from bookmarks where title LIKE '%".$_GET['key']."%' order by clicknum";
$result = mysql_query($sql); //将多个值存放进数组才能输出,不然会当作一个字符串输出
// $arr = array("one"=>"111111","two"=>"222222","three"=>"33333333");
// echo json_encode($arr);
?>
ajax+php+js实现异步刷新表单验证的更多相关文章
- js/jquery/插件表单验证
媳妇要学js,就收集一些资料给她. 1.js 表单验证 : http://hi.baidu.com/yanchao0901/item/161f563fb84ea5433075a1eb 2.jquery ...
- 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题
方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...
- 表单验证—js循环所有表单验证
[封装为表单验证的专用js,所有表单页面都可以调用] 1.表单 <form id="regForm" method="post" action=" ...
- js函数、表单验证
惊天bug!!!在script里面只要有一点点错误,就都不执行了!!!所以每写一个方法,就跑一下,因为这个书写疏忽导致的bug不可估量!!! [笑哭,所以我才这么讨厌js么,后来真心的是一点都不想再看 ...
- js 常用正则表达式表单验证代码
正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一 ...
- js常用正则表达式表单验证代码
方法一: var re=/正则表达式/; re.test($("txtid").val()) 方法二: $("txtid").val.match(/正则 ...
- JS常见的表单验证,H5自带的验证和正则表达式的验证
H5验证 自带的验证无法满足需求: <form action="" method="get"> name:<input type=" ...
- 模拟js中注册表单验证
示例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- JS中的表单验证+正则表达式
表单验证+正则表达式 一.非空验证 trim:去空格(去掉前后的空格),任何字符串都可以用这个方法.写法为:if(v.trim().length==0),表示如果去掉空格后的字符串的长度为0. < ...
随机推荐
- 使用Junit等工具进行单元测试
一.类的定义: 类是同一事物的总称,类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类. 二.Junit工具的使用: 1.首先新建一个项目叫JUnit_Test,我们编写一个 ...
- UI控件(UIWebView)
本文主要记录UIWebView三方面内容: 1.基本的加载网页链接或文件: 2.网页js调用原生,也就是Cordova混合架构的原理: 3.原生调用js程序: 原生部分主要代码: @implement ...
- 混合 Data Warehouse 和 Big Data 倉庫的新架構
(讀書筆記)許多公司,儘管想導入 Big Data,仍必須繼續用 Data Warehouse 來管理結構化的營運數據.系統記錄.而 Big Data 的出現,為 Data Warehouse 提供了 ...
- struts tags
HTTP ERROR 500 Problem accessing /showognl.jsp. Reason: Server Error Caused by: org.apache.jasper.Ja ...
- Android开发学习之路-图片颜色获取器开发(1)
系列第一篇,从简单的开始,一步一步完成这个小项目. 颜色获取就是通过分析图片中的每个像素的颜色,来分析整个图片的主调颜色,有了主调颜色,我们可以用于图片所在卡片的背景或者标题颜色,这样整体感更加强烈. ...
- iOS-提高iOS开发效率的方法和工具
提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...
- iOS-屏幕适配-UI布局
iOS 屏幕适配:autoResizing autoLayout和sizeClass 一.图片解说 -------------------------------------------------- ...
- eCharts动态加载各省份的数据
假如从数据库读出以下数据,如何将数据展示在地图之上 1.部门的名称数据: List deptname=[联通事业部-上海联通项目组, 联通事业部-河南联通项目组, 联通事业部-贵州联通项目组, 联通事 ...
- windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理
windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...
- SQL Server DDL触发器运用
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 基础知识(Rudimentary Knowledge) DDL运用场景(DDL Scene) ...