Ajax & PHP 边学边练 之二 实例

简介:

   本篇通过一个实例介绍Ajax与PHP结合使用的方式,可以下载该实例的源程序以便更好理解。压缩包中functions.js就是Ajax核心代码了,所有的操作效果都是通过它来实现的。下文的代码解释都是提取自functions.js。

效果1. 当鼠标放在某日上时,如果当天有备忘录,则会显示出来,如下图:

taskcheck

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. 当鼠标点击某日录入姓名时,系统会自动检索姓名是否存在,并可以通过选择填入姓名框中,如图:

namecheck

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,如需转载请自行联系原作者

相关文章
|
3月前
|
设计模式 算法 数据库连接
PHP中的设计模式:提高代码的可维护性与扩展性本文旨在探讨PHP中常见的设计模式及其应用,帮助开发者编写出更加灵活、可维护和易于扩展的代码。通过深入浅出的解释和实例演示,我们将了解如何使用设计模式解决实际开发中的问题,并提升代码质量。
在软件开发过程中,设计模式是一套经过验证的解决方案模板,用于处理常见的软件设计问题。PHP作为流行的服务器端脚本语言,也有其特定的设计模式应用。本文将重点介绍几种PHP中常用的设计模式,包括单例模式、工厂模式和策略模式,并通过实际代码示例展示它们的具体用法。同时,我们还将讨论如何在实际项目中合理选择和应用这些设计模式,以提升代码的可维护性和扩展性。
69 4
|
1月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
42 3
|
1月前
|
PHP
PHP的pcntl多进程用法实例
PHP使用PCNTL系列的函数也能做到多进程处理一个事务。
34 12
|
1月前
|
XML 前端开发 JavaScript
34 PHP与Ajax
路老师在知乎上分享了关于PHP语言的知识,帮助大家入门并深入了解PHP。本文重点介绍了Ajax技术,包括其概念、开发模式、优点及常用技术,如JavaScript和XMLHttpRequest对象。Ajax通过异步请求改善了用户体验,减轻了服务器负担,实现了页面无刷新更新。
28 1
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP开发领域,设计模式是解决常见问题的高效方案集合。它们不是具体的代码,而是一种编码和设计经验的总结。单例模式作为设计模式中的一种,确保了一个类仅有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的基本概念、实现方式及其在PHP中的应用。
单例模式在PHP中的应用广泛,尤其在处理数据库连接、日志记录等场景时,能显著提高资源利用率和执行效率。本文从单例模式的定义出发,详细解释了其在PHP中的不同实现方法,并探讨了使用单例模式的优势与注意事项。通过对示例代码的分析,读者将能够理解如何在PHP项目中有效应用单例模式。
|
3月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
3月前
|
XML 前端开发 JavaScript
php中Ajax的简单使用,登录表单调用Ajax判断是否正确登录利用layer.msg进行提示
本文介绍了在PHP中如何使用Ajax进行登录表单的数据提交,并利用jQuery的$.post()方法与后端通信,以及使用layer.msg进行前端提示。
php中Ajax的简单使用,登录表单调用Ajax判断是否正确登录利用layer.msg进行提示
|
3月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
52 2
|
6月前
|
PHP
php+ajax传file文件数据
php+ajax传file文件数据
52 0
|
7月前
|
前端开发 JavaScript PHP
【PHP开发专栏】jQuery与PHP实现Ajax通信
【4月更文挑战第30天】本文介绍了使用jQuery和PHP实现Ajax通信的步骤。首先,讲解了Ajax的基础和jQuery简化Ajax操作的概念。接着,展示了如何使用jQuery的`$.get()`、`$.post()`和`$.ajax()`方法发送GET和POST请求,以及如何控制请求细节。在PHP端,讨论了接收和响应Ajax请求的方法,包括处理数据、设置响应类型和错误处理。结合jQuery与PHP,开发者能实现高效、无缝的异步数据传输,提升Web应用的用户体验。
132 1
下一篇
DataWorks