Ajax PHP 边学边练 之二 实例
本篇通过一个实例介绍Ajax与PHP结合使用的方式,可以下载该实例的源程序以便更好理解。压缩包中functions.js就是Ajax核心代码了,所有的操作效果都是通过它来实现的。下文的代码解释都是提取自functions.js。
效果1. 当鼠标放在某日上时,如果当天有备忘录,则会显示出来,如下图:
function checkfortasks (thedate, e){//找到页面中taskbox对应<div>设置为可见theObject = document.getElementById("taskbox");theObject.style.visibility = "visible";//初始化taskbox位置var posx = 0;var posy = 0;//定位taskbox位置为鼠标位置posx = e.clientX + document.body.scrollLeft;posy = e.clientY + document.body.scrollTop;theObject.style.left = posx + "px";theObject.style.top = posy + "px";//设置PHP请求页面serverPage = "taskchecker.php?thedate=" + thedate;//设置PHP返回数据替换位置objID = "taskbox";var obj = document.getElementById(objID);//发送请求并加载返回数据xmlhttp.open("GET", serverPage);xmlhttp.onreadystatechange = function(){if (xmlhttp.readyState == 4 && xmlhttp.status == 200){obj.innerHTML = xmlhttp.responseText;}}xmlhttp.send(null); }
效果2. 当鼠标点击某日录入姓名时,系统会自动检索姓名是否存在,并可以通过选择填入姓名框中,如图:
function autocomplete (thevalue, e){//定位页面中autocompletediv(显示检索姓名的标签)的<div>位置theObject = document.getElementById("autocompletediv");//设置为可见theObject.style.visibility = "visible";theObject.style.width = "152px";//设置检索标签位置var posx = 0;var posy = 0;posx = (findPosX (document.getElementById("yourname")) + 1);posy = (findPosY (document.getElementById("yourname")) + 23);theObject.style.left = posx + "px";theObject.style.top = posy + "px";//设定事件为键盘录入var theextrachar = e.which;if (theextrachar == undefined){theextrachar = e.keyCode;}//设定加载检索名单位置var objID = "autocompletediv";//设定PHP请求页面,并将用户输入的姓名传值过去(同时考虑到Backspace作用)if (theextrachar == 8){if (thevalue.length == 1){var serverPage = "autocomp.php";}else{var serverPage = "autocomp.php" + "?sstring=" + thevalue.substr(0, (thevalue.length -1));}} else{var serverPage = "autocomp.php" + "?sstring=" + thevalue + String.fromCharCode(theextrachar);}//发送请求并加载返回数据var obj = document.getElementById(objID);xmlhttp.open("GET", serverPage);xmlhttp.onreadystatechange = function() {if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {obj.innerHTML = xmlhttp.responseText;}}xmlhttp.send(null); }
源代码下载
本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2009/11/24/1609628.html,如需转载请自行联系原作者
Ajax PHP 边学边练 之二 实例相关推荐
- Ajax PHP 边学边练 之三 数据库
在上一篇备忘日历实例中,实现了当鼠标放在某个日期上时,如果当天有备忘信息则会显示出来,但是这些信息是为了测试方便事先写在数组中的数据,不能体现其实时性.本篇将继续通过该实例讲解与数据库的交互方式.实例 ...
- Ajax PHP 边学边练 之四 表单
通过上一篇文章已经了解到如何利用Ajax和PHP对数据库进行数据读取,这样可以动态的获取到数据库的最新数据.本篇则继续介绍通过表单(Form)向数据库中写入数据. 谈到Form就涉及到一个发送请求方式 ...
- 随学随考计算机应用基础作业1,【随学随练】统编版四年级下册语文《第一单元》一课一练带答案,快给孩子练习!...
原标题:[随学随练]统编版四年级下册语文<第一单元>一课一练带答案,快给孩子练习! 下载完整电子版,请拉到最下方 <1.古诗词三首>同步练习题 基础积累大巩固 一.选一选,填一 ...
- Verilog语言入门——边学边练
第一次写博客,记录北京交通大学李金城的Verilog语言入门 参考复制了一些代码,其他代码均为自敲 Verilog语言入门--边学边练 前言 一.基本逻辑门代码设计与仿真 1.1反相器 1.2与非门 ...
- 从零开始学数据结构和算法(二)线性表的链式存储结构
链表 链式存储结构 定义 线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的. 种类 结构图 单链表 应用:MessageQueue 插 ...
- 热传递物理模型matlab,简单传热学计算机分析MatlabPDE二维不稳态焊接热传导求解.PPT...
简单传热学计算机分析MatlabPDE二维不稳态焊接热传导求解 计算机在材料科学与工程中的应用 叶卫平 本 章 要 点 4.1材料学主要物理场 4.1材料学主要物理场 4.2 传热学基本概念 4.2 ...
- 零基础入门学Python(十二)—— 魔法方法(下)
零基础入门学Python系列内容的学习目录→\rightarrow→零基础入门学Python系列内容汇总. 魔法方法(下) 1. 构造和析构 2. 算术运算 3. 简单定制 4. 属性访问 5. 描述 ...
- 一步一步学Spring Boot(二)课程发布了~~~
课程名称 <一步一步学Spring Boot(二)> 学习地址 CSDN学习地址: http://edu.csdn.net/lecturer/994 51CTO学习地址:http://ed ...
- shell小练(二)(图形千变万化)
shell小练(二)(图形千变万化) 一.99乘法表 二.输出一条矩形,长为10,宽度为5 三.输出一个直角三角形 四.输出一个等腰三角形 五.输出一个平行四边形 六.输出一个直角梯形 七.输出一个等 ...
最新文章
- DOM manipulation
- linux pxe获取ip,linux pxe的构建
- nvidia 程序安装失败
- 如何正确运用计算机,如何正确使用电脑
- adb 命令小集(转)
- JavaFX 2.0和Scala,例如牛奶和饼干
- Android 自定义 ListView 显示网络上 JSON 格式歌曲列表
- mysql5.7.17 win7_win7下mysql5.7.17安装配置方法图文教程
- 这该死的高度,height,clientHeight,scrollHeight,offsetHeight
- 资深码农:拿下软件测试,只需掌握好这两种方法!
- 单例模式 - 双锁机制
- 拓端tecdat|R语言对回归模型进行协方差分析
- asp版的简单留言板
- 数字电子技术期末考试思维导图
- ADMM算法求解二次项目标函数+l1正则项问题
- goharbor harbor-helm 搭建 记录
- 多图像 并行 浏览 放大 对比 MulimgViewer win10 ubuntu 多图片 多张图片
- html 图层嵌套特点,ps图层有哪几种类型?
- excel换行快捷键_excel换行快捷键 Excel表格中怎么换行 | 优词网
- 个人小程序/京东推广链接/长链接/短连接/跳转到京东购物小程序
热门文章
- js detect the type of device
- POJ 3308 Paratroopers (对数转换+最小点权覆盖)
- SQL Server 数据库维护脚本合集[007]-删除数据库所有用户表数据
- Windows xp 定时关机命令
- mycat集群执行带有join的sql语句时报错_can‘t find table define in schema_分片join---Linux运维工作笔记052
- AndroidStudio_解决butterknife在module中使用BindView Attribute value must be constant---Android原生开发工作笔记229
- 大数据_Flink_流式处理_Flik Vs Spark streaming_Flink的特点---Flink工作笔记0007
- Vue列表渲染---vue工作笔记0009
- 大数据_Hbase-API访问_Java操作Hbase_MR-数据迁移-开发代码---Hbase工作笔记0016
- Swagger工作笔记001---Swagger2的使用