创建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实现异步刷新表单验证的更多相关文章

  1. js/jquery/插件表单验证

    媳妇要学js,就收集一些资料给她. 1.js 表单验证 : http://hi.baidu.com/yanchao0901/item/161f563fb84ea5433075a1eb 2.jquery ...

  2. 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

        方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...

  3. 表单验证—js循环所有表单验证

    [封装为表单验证的专用js,所有表单页面都可以调用] 1.表单 <form id="regForm" method="post" action=" ...

  4. js函数、表单验证

    惊天bug!!!在script里面只要有一点点错误,就都不执行了!!!所以每写一个方法,就跑一下,因为这个书写疏忽导致的bug不可估量!!! [笑哭,所以我才这么讨厌js么,后来真心的是一点都不想再看 ...

  5. js 常用正则表达式表单验证代码

    正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一 ...

  6. js常用正则表达式表单验证代码

    方法一:  var re=/正则表达式/;  re.test($("txtid").val())  方法二:  $("txtid").val.match(/正则 ...

  7. JS常见的表单验证,H5自带的验证和正则表达式的验证

    H5验证 自带的验证无法满足需求: <form action="" method="get"> name:<input type=" ...

  8. 模拟js中注册表单验证

    示例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  9. JS中的表单验证+正则表达式

    表单验证+正则表达式 一.非空验证 trim:去空格(去掉前后的空格),任何字符串都可以用这个方法.写法为:if(v.trim().length==0),表示如果去掉空格后的字符串的长度为0. < ...

随机推荐

  1. nginx 启动不了的小问题

    nginx 配置的端口可能没打开 linux打开端口:  /sbin/iptables -I INPUT -p tcp --dport 8011 -j ACCEPT #开启8011端口   /etc/ ...

  2. Change the Target Recovery Time of a Database (SQL Server) 间接-checkpoints flushcache flushcache-message

    Change the Target Recovery Time of a Database (SQL Server) 间接checkpoints   flushcache flushcache-mes ...

  3. Webix JavaScript UI 库可以帮你构建跨平台的HTML5 和 CSS3 程序

    XB 软件公司最近发布了JavaScript UI 库Webix ,其中包含的组件超过45个,用这些组件可以构建跟HTML5 和 CSS3 兼容的程序,这些程序不仅能在个人电脑上运行,还能用在iOS. ...

  4. ABP理论学习之异常处理

    返回总目录 本篇目录 介绍 开启错误处理 非Ajax请求 展示异常信息 UserFriendlyException Error模型 Ajax请求 异常事件 介绍 在一个web应用中,异常通常是在MVC ...

  5. Step by step Dynamics CRM 2011升级到Dynamics CRM 2013

    原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...

  6. Pycharm5注册方式

    0x1 ,安装 0x2 , 调整时间到2038年. 0x3 ,申请30天试用 0x4, 退出pycharm 0x5, 时间调整回来. ##注册方法2### 注册方法:    在 注册时选择 Licen ...

  7. TODO:小程序集成WeUI

    TODO:小程序集成WeUI WeUI 为微信 Web 服务量身设计.WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一. ...

  8. Java伪界面操作数据库的小实例

    首先在Mysql中有两个表fruit和login: package com.zuoye; import java.sql.*; import java.util.*; public class Tes ...

  9. angularjs中的directive scope配置

    angularjs中的directive scope配置 定义directive其中重要的一环就是定义scope,scope有三种形式: 默认的scope,DOM元素上原有的scope scope: ...

  10. Apk去掉签名以及重新签名的方法

    Android开发中很重要的一部就是用自己的密钥给Apk文件签名,不经过签名的Apk文件一般是无法安装的,就算装了最后也是失败. 网上流传的"勾选允许安装未知来源的应用"其实跟签不 ...