xajax 类下载Response对象的addJavaScript()问题

xAjax简单使用范例
- CSDN博客
xAjax简单使用范例
xAjax是一个开源的基于PHP的Ajax解决方案,它使用简单,官方提供的帮助显示,只需要七步就可以了创建一个简单的ajax应用。
首先,在php文件头包含xajax类
require_once(&xajax.inc.php&);
接下来,创建xajax对象
$xajax = new xajax();
注册你的函数。这个函数用于在服务器端处理相应的客户端请求,并返回指定内容。
$xajax-&registerFunction(&myFunction&);
编写上述函数的代码。根据你要执行的功能
function myFunction($arg) { & // 在函数中使用从服务器或客户端得到的参数。 & $newContent = $arg; && && // 创建xajaxResponse对象。 & // 这个是用于被客户端调用并返回相应内容的函数中所必须定义的。 & $objResponse = new xajaxResponse(); && && // 使用xajaxResponse对象中的方法,执行不同的操作。 & $objResponse-&addAssign(&SomeElementId&,&innerHTML&, $newContent); && && // 向客户端返回内容。 & // 客户端的页面将在不刷新的情况下被重写。 & return $objResponse-&getXML(); }
打开请求控制器,所以请求都将交由xajax系统来处理。
$xajax-&processRequests();
在&head&标签中加入下列代码,用于在页面中生成必要的Javascript脚本。
&?php $xajax-&printJavascript(); ?&
最后,在页面中有事件发生时,调用你在服务器端定义的函数来进行处理就可以了。这里是名为myFunction的函数。注意,调用时,函数前必须加xajax_前缀。
&div id=&SomeElementId&&&/div& &button onclick=&xajax_myFunction(SomeArgument);&&
这样,一个具有流行的Ajax效果的页面的做好了。怎么样,不复杂吧? 实际上,xajax还提供大量的方法,利用它们,你就可以很容易对页面进行操作了。详细文档请见官方文档和范例说明: http://www.ajaxproject.org
本文已收录于以下专栏:
相关文章推荐
在php中使用Xajax能够即时与数据库发生交互‘
带给用户更好的体验
主要的应用有网页的即时、不刷新的登录系统
也可以利用于注册系统中
即时验证用户名是否被占用
一、基本目标
...
微软在日的E3大展上。正式公布的XBOX360体感周边外设。Natal彻底颠覆了游戏的单一操作。使人机互动的理念更加彻底的展现出来。 它是一种3D体感摄影机(开发代号“Project ...
在我上一篇博客中:http://blog.csdn.net/soft2buy/article/details/6589326
介绍了一个用微软的Kinect Sensor 捕捉双手动作的简单例子。今天...
看到很多范例,都不是自己想要的。我需要的就是绘制图形(点、线、面),要求代码最简单,便于学习了解,不要有多余的东东。
工程目录如下,圈起来的是新增的内容。
整体过程如下:
[self set...
http://blog.csdn.net/tanglinfeng/article/details/3898578
4.3. 添加 Hibernate 功能支持
  操作:[Menu...
1. 准备  工具:MyEclipse 5.1.0 GA、Tomcat 5.5环境:Struts1.1、Spring1.2、Hibernate3.1、sqlserver20001.1. 新建工程  本...
他的最新文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)京 东 价:
[定价:¥]
PLUS会员专享价
您购买此商品可享受专属价
增值业务:
重  量:
搭配赠品:
服务支持:
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
网站开发专家·Google成功背后的技术:Ajax网页程序设计
商品介绍加载中...
扫一扫,精彩好书免费看
京东商城向您保证所售商品均为正品行货,京东自营商品开具机打发票或电子发票。
凭质保证书及京东商城发票,可享受全国联保服务(奢侈品、钟表除外;奢侈品、钟表由京东联系保修,享受法定三包售后服务),与您亲临商场选购的商品享受相同的质量保证。京东商城还为您提供具有竞争力的商品价格和,请您放心购买!
注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
权利声明:京东上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是京东重要的经营资源,未经许可,禁止非法转载使用。
注:本站商品信息均来自于合作方,其真实性、准确性和合法性由信息拥有者(合作方)负责。本站不提供任何保证,并不承担任何法律责任。
印刷版次不同,印刷时间和版次以实物为准。
价格说明:
京东价:京东价为商品的销售价,是您最终决定是否购买商品的依据。
划线价:商品展示的划横线价格为参考价,该价格可能是品牌专柜标价、商品吊牌价或由品牌供应商提供的正品零售价(如厂商指导价、建议零售价等)或该商品在京东平台上曾经展示过的销售价;由于地区、时间的差异性和市场行情波动,品牌专柜标价、商品吊牌价等可能会与您购物时展示的不一致,该价格仅供您参考。
折扣:如无特殊说明,折扣指销售商在原价、或划线价(如品牌专柜标价、商品吊牌价、厂商指导价、厂商建议零售价)等某一价格基础上计算出的优惠比例或优惠金额;如有疑问,您可在购买前联系销售商进行咨询。
异常问题:商品促销信息以商品详情页“促销”栏中的信息为准;商品的具体售价以订单结算页价格为准;如您发现活动商品售价或促销信息有异常,建议购买前先联系销售商咨询。
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
浏览了该商品的用户还浏览了
加载中,请稍候...
七日畅销榜
新书热卖榜
iframe(src='///ns.html?id=GTM-T947SH', height='0', width='0', style='display: visibility:')Javascript Disabled Detected
You currently have javascript disabled. Several functions may not work. Please re-enable javascript to access full functionality.
php的ajax框架xajax入门与试用
Started by , 03-28 10:10:21
You cannot reply to this topic
No replies to this topic
一、xajax与其它ajax框架的比较
xajax功能很简单,但很灵活!~它不象其它一些大的框架,功能确实强大,但执行速度不敢恭维。。功能虽多,但不够灵活。api多,学起来简直如同学习一门新的语言。
xajax就没那么复杂,手册只有一页,本版面内就有手册的修正版。
二、xajax功能介绍
xajax的功能比较简单,但就因为简单,所以灵活。同时,这也要求使用者要对javascript / vbs 客户端脚本有一定的了解。因为它的功能是比较活的。可以说单纯使用xajax,什么也做不出,但配合js / vbs 又什么都做的出。
xajax主要是使用xajaxResponse这个类,它提供了一些方法,举例如下:
1、addalert($sMsg)
2、addscript($sJS)
执行某段js
3、$objResponse->addAssign("","","")
给页面中的某个元素附值,或者修改其属性
等等。。。。
所以xajax不是死的,它不能做出XXX XXX功能来,但是它可以灵活的控制客户端的js / vbs,去完成我们要实现的效果。
三、xajax安装配置
不需要特别的安装和配置,只要下载其文件包,解压到网站目录中
下载地址:
三、用xajax做会员注册和登陆
采用mysql5.0,数据库名zl 表名zl_user
auto_increment
varchar(50)
varchar(50)
varchar(50)
2、reg.php
注册文件(内有说明)
require_once("inc/xajax.inc.php");
//使用xajax则必须首先引入xajax.inc.php
$xajax = new xajax("inc/signup.php");
//创建一个xajax对象,为singup.php
$xajax->registerFunction("processForm");
//使用singup.php里的processForm函数
无标题文档
printJavascript('inc/'); ?>
function submitSignup()
xajax.$('submitButton').disabled=
xajax.$('submitButton').value="
//修改id为submitButton的属性
xajax_processForm(xajax.getFormValues("signupForm"));
//这里xajax_ 后面跟要使用哪个函数这里是 processForm,后面跟的是signupForm这个表单各项的集合
用 户 注 册
* 可用于找回密码
点提交后执行singup.php里的processForm函数
3、inc/singup.php
define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );
//注意这里,必须要设置gb2312,不然中文会乱码
require_once("xajax.inc.php");
require_once("function.php");
$xajax = new xajax();
$xajax->registerFunction("processForm");
//同reg.php文件
function processForm($aFormValues)
$objResponse = new xajaxResponse();
require_once("conn.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
//要过滤的非法字符
$ArrFiltrate=array("'",";","union");
foreach($aFormValues as $key=>$value){
if (FunStringExist($value,$ArrFiltrate)){
$objResponse->addalert("输入的信息含有非法字符"' ; union!"");
$objResponse->addAssign("submitButton","value","继续");
$objResponse->addAssign("submitButton","disabled",false);
return $objR
if (trim($usr) == "")
$errmsg.="请输入用户名!n";
if (trim($pwd) == "")
$errmsg.="请输入密码!n";
if ($pwd != $aFormValues['pwd2'])
$errmsg.="两次输入的密码不一致!n";
if (!CheckEmailAddr($email))
$errmsg.="邮件地址不正确!n";
$sql="select * from zl_usr where zl_usr='$usr'";
$result=mysql_query($sql,$db);
if($myrow=mysql_fetch_array($result)){
$errmsg.="用户名已经存在!n";
if ($errmsg=="")
$sForm = "注册成功
用户名:".$usr."
email:".$email."";
$sql="insert into zl_usr(zl_usr,zl_pwd,email) values('$usr','$pw','$email')";
$result=mysql_query($sql,$db);
$objResponse->addAssign("formDiv","innerHTML",$sForm);
$objResponse->addalert($errmsg);
//弹出错误信息
$objResponse->addAssign("submitButton","value","继续");
//修改submitButton的value为继续
$objResponse->addAssign("submitButton","disabled",false);
//修改submitButton这个按扭的属性
return $objR
$xajax->processRequests();
这个文件中对信息进行了有效性判断,包括:用户名是否已经注册过、信息中是否有非法字符、邮件地址是否正确、两次输入的密码是否一致,如果没有错误则输入到数据库中,并
$objResponse->addAssign("formDiv","innerHTML",$sForm);
在formDiv中重新插入代码,内容为$sForm
$sForm = "注册成功
用户名:".$usr."
email:".$email."";
如果有错误信息则
$objResponse->addalert($errmsg);
//弹出错误信息
$objResponse->addAssign("submitButton","value","继续");
$objResponse->addAssign("submitButton","disabled",false);
//修改submitButton这个按扭的属性
3、login.php 登陆文件
require_once("inc/xajax.inc.php");
$xajax = new xajax("inc/login.php");
$xajax->registerFunction("processForm");
无标题文档
printJavascript('inc/'); ?>
function submitSignup()
xajax.$('submitButton').disabled=
xajax.$('submitButton').value="
xajax_processForm(xajax.getFormValues("signupForm"));
用 户 登 陆
4、inc/login.php
登陆用的处理文件
define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );
require_once("xajax.inc.php");
require_once("function.php");
$xajax = new xajax();
$xajax->registerFunction("processForm");
function processForm($aFormValues)
$objResponse = new xajaxResponse();
require_once("conn.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
//要过滤的非法字符
$ArrFiltrate=array("'",";","union");
foreach($aFormValues as $key=>$value){
if (FunStringExist($value,$ArrFiltrate)){
$objResponse->addalert("输入的信息含有非法字符"' ; union!"");
$objResponse->addAssign("submitButton","value","继续");
$objResponse->addAssign("submitButton","disabled",false);
return $objR
if (trim($usr) == "")
$errmsg.="请输入用户名!n";
if (trim($pwd) == "")
$errmsg.="请输入密码!n";
$sql="select * from zl_usr where zl_usr='$usr' and zl_pwd='$pw'";
$result=mysql_query($sql,$db);
if(!$myrow=mysql_fetch_array($result)){
$errmsg.="用户名不存在,或密码错误!n";
if ($errmsg=="")
$sForm = "登陆成功";
$objResponse->addAssign("formDiv","innerHTML",$sForm);
$objResponse->addalert($errmsg);
$objResponse->addAssign("submitButton","value","继续");
$objResponse->addAssign("submitButton","disabled",false);
return $objR
$xajax->processRequests();
登陆于注册原理差不多,就不废话了:)
另外下面是两个用到的文件代码 conn.php
function.php
$database="zl";//MYSQL数据库名
$db = mysql_connect("127.0.0.1", "root","123456");//MYSQL数据库用户名和密码
mysql_select_db($database,$db);
function.php
function CheckEmailAddr($C_mailaddr)
if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$",
$C_mailaddr))
//是否存在数组中的值
function FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate as $key=>$value){
if (eregi($value,$StrFiltrate)){
四、相关资源连接
1、官方网站,有xajax文件包下载
Reply to quoted posts&&&&& &&&xajaxResponse指令学习
编辑:www.fx114.net
本篇文章主要介绍了"xajaxResponse指令学习",主要涉及到xajaxResponse指令学习方面的内容,对于xajaxResponse指令学习感兴趣的同学可以参考一下。
Xajax最富有特色的功能或许就是xajaxResponse类. 其他的Ajax库需要你自己编写JavaScript的回调句柄去处理一个异步请求返回的数据并更新内容. xajax, 从另外一个角度来说, 允许你使用PHP简单的控制内容. xajaxResponse 让你在PHP函数之中创建XML指令返回给你的程序. XML将被xajax的消息分析器解析,指令将告诉xajax如何更新程序的内容和状态. xajaxResponse类目前提供了以下指令:1.addAssign($sTargetId,$sAttribute,$sData)给命名为$sTargetId的元素的$sAttribute属性赋值$sData $objResponse-&addAssign(&divid&,&innerHTML&,&Some Text&);//写数据到div里$objResponse-&addAssign(&checkBox1&,&checked&,&true&);//复选框选中2.addAppend($sTargetId,$sAttribute,$sData)给命名为$sTargetId的元素的$sAttribute属性追加值$sData$objResponse-&addAppend(&contentDiv&,&innerHTML&,&Some Text&);//用在循环里比较方便3.addPrepend($sTargetId,$sAttribute,$sData)预备给命名为$sTargetId的元素的$sAttribute属性赋值$sData $objResponse-&addPrepend(&contentDiv&,&innerHTML&,&Some Text&);//调了一下,好像和addAssign和差不多4.addReplace($sTargetId,$sAttribute,$sSearch,$sData)替换命名为$sTargetId的元素的$sAttribute属性的值之中的$sSearch为$sData $objResponse-&addReplace(&contentDiv&,&innerHTML&,&text&,&&strong&text&/strong&&);5.addClear($sTargetId,$sAttribute)清空命名为$sTargetId的元素的$sAttribute属性的值 $objResponse-&addClear(&Input1&,&value&);//注:这里清空不是用空值,而是用&value&字串6.addCreate($sParentId, $sTagname, $sId, $sType)在已经存在的命名为$sParentId的元素下添加一个名叫$sTagName的子元素,并且把他的id赋值为$sId,可选的类型赋值为 $sType. $objResponse-&addCreate(&form1&,&input&, &pass&, &password&);//$sParentId不一定是form也可以是body等7.addRemove($sElementId)从你的程序之中移除命名为$sElementId的元素$objResponse-&addRemove(&div1&);8.addAlert($sMsg)显示一个内容为 $sMsg 的警告框(JavaScript的Alert)$objResponse-&addAlert(&This is some text&);9.addScript($sJS)执行JavaScript代码 $sJS (演示代码原文有误)$objResponse-&addScript(&var txt = prompt('get some text');&);&
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:博客分类:
一、白话Ajax的原理 这个可以从 C/S 和 B/S 的原理说起。Windows操作系统的诞生,为单机通信提供了很大的支持,程序设计也从早期DOS的单任务单用户向网络的分布式应用过度。C/S提供的客户/服务器编程模式为网络应用提供了一个有效的通信手段。浏览器与Web服务器之间的请求/ 服务,就是一个典型的C/S应用。 有人说,怎么是C/S?这应该是B/S呀!其实是这样理解的:浏览器/Web服务器作为我们实现网页发布的一个平台,对于我们在这个平台上开发的应用,我们的应用是由浏览器从Web服务器上下载下来然后展示在浏览器的“容器”里的,我们的应用是B/S模式的。但是浏览器与Web服务器的通信,却是C/S模式的。可以说,B/S模式是建立在C/S模式之上的。 Windows早期的桌面应用程序(包括单机程序和C/S结构的网络应用程序),其界面是调用Windows的API来实现的,后来,出现了VB、Delph(VCL)、VC++(MFC)等应用程序框架,把繁杂的API包装起来,使Windows程序开发大大降低、效率大大提高。 进入B/S编程阶段后,我们只需要面向Web服务器和浏览器编程,不需要考虑网络通信和并发等复杂的问题。但是在浏览器和Web服务器之间,为了进行数据交互,浏览器经常频繁的向Web服务器提交一些信息,现在的网络环境又极差,使我们经常等待于浏览器与Web服务器的通信状态,用户体验很差。而传统的桌面程序没有这个缺陷。 怎样既能利用B/S程序极强的界面表现力,又能避免其提交后的那一段眩晕的“真空”状态呢? 其实,在浏览器的设计阶段,设计师已经为我们考虑到了这个问题。这就是我们要说到的Ajax!Ajax英文是Asynchronous JavaScript and XML,就是在浏览器里通过一个机制,实现浏览器端与Web服务器端的一个异步通信,参与这个过程的有javascript、XML等技术。Ajax的引入,使B/S信息传递的量减少了,浏览器界面不再闪烁了,浏览者的感觉好多了。 Ajax并不是一项新技术,而是几个现有技术的新组合,而且它的发展也得益于几家大的互联网企业的率先应用(大家常拿Google的在线Maps来举例)。连浏览器寡头微软当初都没怎么看得起这项技术,后来才在VS.NET2.0时代玩命的赶呀追。 二、Ajax的实现 Ajax是由浏览器通过内部的一个组件实现的,这个组件负责接收用户的请求,以XML作为信息中介,并与Web服务器实现异步通信,并把请求的结果返回给浏览器,再由浏览器呈现给用户界面。“异步”的意思就是组件在后台工作期间,浏览器与用户保持在交互状态,并不更新当前窗口。也不是所有的数据都被组件提交到后台去。 Ajax实现的基础是:浏览器有一个Ajax引擎;浏览器支持JWeb服务器端也支持XML数据格式。并不是所有浏览器都支持Ajax技术的,但支持Ajax的浏览器越来越多。 这个组件在Windows下是一个COM组件,由IE浏览器调用。IE浏览器也是在5.0版本以后才提供这个组件的。不同的浏览器实现和创建XMLHttpRequest对象的方式是不太一样的。但作为一个通用的Ajax接口,其外在表现是一致的。 Ajax其实是一项复杂的技术,牵扯到的东西很多。除过XMLHttpRequest对象和Javascript,还有DOM(文档对象模型),XML等。Javascript是一个粘合剂,它通过XMLHttpRequest对象对浏览器端页面的诸多元素进行操控,实现与Web服务器的后台交互,实现数据验证、存取等功能。 三、Ajax编程示例 1,客户端(文件client.htm)&html&
&meta http-equiv=”Content-Type” content=”text/ charset=gb2312″&
&title&AJAX 客户端&/title&
&script language=”javascript”&
var xmlhttp =
////开始初始化XMLHttpRequest对象
//这段代码考虑到了xmlhttp对象与目前主流浏览器的兼容
//如果在IE浏览器下测试,一条
//xmlhttp = new ActiveXObject(”Msxml2.XMLHTTP”)
//或xmlhttp = new ActiveXObject(”Microsoft.XMLHTTP”)语句就可以了
if(window.XMLHttpRequest)
//Mozilla 浏览器
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType)
{//设置MiME类别
xmlhttp.overrideMimeType(’text/xml’);
if (window.ActiveXObject)
// IE浏览器
xmlhttp = new ActiveXObject(”Msxml2.XMLHTTP”); }
{ xmlhttp = new ActiveXObject(”Microsoft.XMLHTTP”); }
function send_request(url, data)
//初始化、指定处理函数、发送请求的函数
if (!xmlhttp)
{ //异常,创建对象实例失败
window.alert(”不能创建XMLHttpRequest对象实例.”);
// 确定发送请求的方式和URL以及是否同步执行下段代码
xmlhttp.open(”POST”, url, true);
xmlhttp.onreadystatechange = processR
//根据Web服务器应答,触发该状态改变事件
xmlhttp.setRequestHeader(”Content-Type”,”application/x-www-form-urlencoded”);
xmlhttp.send(”username=” + data);
//发送信息到后台程序
////状态改变事件处理函数:处理返回的信息
function processRequest()
if (xmlhttp.readyState == 4)
{ // 判断对象状态
if (xmlhttp.status == 200)
//正常返回信息,状态编号200
{ // 信息已经成功返回,开始处理信息
alert(xmlhttp.responseText);
{ //页面不正常
alert(”您所请求的页面有异常。”);
function userCheck()
var f = document.form1;
var username = f.username.
if(username==”")
window.alert(”用户名不能为空。”);
f.username.focus();
//该语句由用户按“唯一性检查”按钮后执行
send_request(’server.php’, username);
&form name=”form1″ action=”" method=”post”&
用户名:&input type=”text” name=”username” value=”"&
&input type=”button” name=”check” value=”惟一性检查” onClick=”userCheck()”&
&input type=”submit” name=”submit” value=”提交”&
2,Web服务器端(文件server.php)&?php
//取得客户端数据
$username = $_POST[”username”];
//判断用户名的惟一性
if( $username==”网眼”)
//实际工程中,这里一般是从数据库取用户名的值
printf(”用户名“%s”已经被注册,请更换一个用户名”, $username);
printf(”用户名“%s”尚未被使用,您可以继续”, $username);
在以上Client.htm代码中,首先建立XMLHttpRequest对象实例,然后很据对象的状态触发事件处理函数,对返回的信息进行处理。一切控制逻辑都是用Javascript脚本来书写的,XMLHttpRequest对象与Web服务器的XML信息交换对我们是隐含的,我们不必关心。
这是一个最原始的Ajax编程框架,它能简单的处理一些少量数据。经过代码重构,完全可以用在我们自己的小型工程中。
注意Ajax本身是一种浏览器端技术,它和Web服务器端采用什么脚本书写代码是没有关系的。比如我们把Client.htm的语句send_request(’server.php’, username)换为send_request(’server.asp’, username),再相对应的建立server.asp文件,内容为:&%
dim username
username = request(”username”)
if username=”Thomas” then
response.write(”用户名” & username & “已经被注册,请更换一个用户名”)
response.write(”用户名” & username & “尚未被使用,您可以继续”)
做了这样的改变后,在浏览器端,用户看到的效果是一模一样的。四、常见Ajax编程框架
既然上述Ajax框架已经能工作了,为什么还有那么多的框架呢?
随着页面的复杂,可能需要书写大量的Javascript脚本来对页面中的DOM对象进行控制,工作量和复杂度会大大增加。Ajax编程框架通常利用面向对象的方法,对一些基本的对象和行为及其复杂性进行了合理的封装,建造了一套有自己特色的类库,并且考虑了效率和可扩充性等优点。我们在开发时,可以使用较少的、更清晰的代码,完成自己的工作。也使程序员有更多的时间和精力考虑业务逻辑本身,而不是与一堆脚本纠缠在一起。
框架都是与后台脚本相关的。通过后台脚本编程,我们可以不必书写大量的Javascript脚本就能构建浏览器兼容的Ajax应用。
比如,我使用一个比较流行的PHP xAjax框架,对前边的示例程序进行了改写:&?php
require_once ("../xajax/xajax.inc.php");
//服务器处理函数
function processForm($aFormValues)
$objResponse = new xajaxResponse();
//清空错误信息
$objResponse-&addClear("usernameInfo", "innerHTML");
//判断账号
if (trim($aFormValues['username']) == "")
$objResponse-&addAppend("usernameInfo", "innerHTML", "Please Input user name.");
if(trim($aFormValues['username'])=="Thomas")
$objResponse-&addAppend("usernameInfo", "innerHTML", "Has been registed");
$objResponse-&addAppend("usernameInfo", "innerHTML", "Has not been registed");
if (!$bError)
$sForm .="&div&账号:" .$aFormValues['username']. "&/div&\n";
$objResponse-&addAssign("submitButton", "value", "Submit");
$objResponse-&addAssign("submitButton", "disabled", false);
return $objR
//构造对象
$xajax = new xajax();
//注册处理函数
$xajax-&registerFunction("processForm");
//接管HTTP请求
$xajax-&processRequests();
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&
&meta http-equiv="Content-Type" content="text/ charset=gb2312"&
//生成必要的JavaScript
$xajax-&printJavascript('../xajax/');
&title&XAJAX 用户注册&/title&
&style type="text/css"&
#formWrapper{ color: #111111; background-color: rgb(200,200,200); width: 360}
#title{color: #FFFFFF; text-align: background-color: #000000; }
#formDiv{ padding: 20}
.submitDiv{ margin-top: 10 text-align: }
.errorSpan{ color:}
&script type="text/javascript"&
&!--//提交表单
function submitSignup()
xajax.$('submitButton').disabled=
xajax.$('submitButton').value="验证中...";
xajax_processForm(xajax.getFormValues("signupForm"));
&form id="signupForm" action="javascript:void(null);" onsubmit="submitSignup();"&
用户名:&input type="text" name="username" value=""&
&input type="button" name="check" value="Check Only one" onClick="submitSignup();"&
&input type="submit" id="submitButton" name="submit" value="Submit"&
&div id="usernameInfo" class="errorSpan"& &/div&
大家看到了这段代码前边的包含语句了吧:require_once ("../xajax/xajax.inc.php")。xajax.inc.php就是定义xajax等相关类库的文件,这个文件里还包含了大量的javascript脚本文件和其他的常数定义等。Xajax类有一条自己的属性和方法,接管和封装了原始的Ajax的行为和方法,用于处理用户的事件和页面文档对象的属性和外观。
Ajax框架有它自己的好处,但是,目前由于Ajax框架太多,各有各的优点和缺点,特别是对PHP语言,我们很难在众多的框架中选中一个最适合我们自己的项目的框架。框架太多加大了交流的成本。框架本身在降低了代码复杂度的同时,也带来了学习的成本。不像.NET,背靠财大气粗的公司,就一套程序库,一套通用的IDE,熟练一门语言(比如C#),就可以开发Web和桌面应用。
最后还要注意一下,Ajax并不是万金油,任何项目都想用一下。Ajax目前大多数应用在数据校验等应用上,在项目中用的时候请慎重考虑。张庆(网眼)
浏览: 1129139 次
来自: 北京
不错!!!!!!
commonj 第三步,那个调用的方法要在哪里调?servle ...
学习了,不错~
com.lowagie.text.DocumentExcept ...
我想请问下
你哪个html里面引入的几个js文件没看懂!你 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 xajax 类下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信