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. < ...
随机推荐
- WebView解析
WebView解析 WebView是一个基于Webkit的,相当于内置浏览器的强大功能的组件,WebView的使用这么分四步说明:添加组件,加载资源,属性设置,辅助功能. 一.WebView的添加 ...
- 在SharePoint 2010中,如何找回丢失的服务账号(Service Account)密码
背景信息: 通常在SharePoint环境中我们会使用很多的服务账号来运行各种不同的服务,尤其在企业环境中,由于权限管理条例严格,这些服务账号更是只能多不能少.面对如此多的服务账号,各个企业都会有自己 ...
- SQL语句优化(转载)
一.操作符优化 1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用 ...
- FLEX布局的一些问题和解决方法
前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的 ...
- C语言指针转换为intptr_t类型
1.前言 今天在看代码时,发现将之一个指针赋值给一个intptr_t类型的变量.由于之前没有见过intptr_t这样数据类型,凭感觉认为intptr_t是int类型的指针.感觉很奇怪,为何要将一个指针 ...
- 自己动手写一个简单的MVC框架(第一版)
一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...
- 【整理】待毕业.Net码农就业求职储备
声明:本文题目来源于互联网,仅供即将从学校毕业的.Net码农(当然,我本人也是菜逼一个)学习之用.当然,学习了这些题目不一定会拿到offer,但是针对就业求职做些针对性的准备也是不错的.此外,除了技术 ...
- Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
<Windows Azure Platform 系列文章目录> 请读者在参考本文之前,预习相关背景知识:Windows Azure Storage (1) Windows Azure St ...
- 《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-6在查询中设置默认值 问题 你有这样一个用例,当查询返回null值时,给相应属性 ...
- Python 日志模块 logging通过配置文件方式使用
vim logger_config.ini[loggers]keys=root,infoLogger,errorlogger [logger_root]level=DEBUGhandlers=info ...