热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » AJAX编程 » xajax中文手册(HonestQiao第一版,FlyingHail修改版)<二>

xajax中文手册(HonestQiao第一版,FlyingHail修改版)<二>

论坛链接
  • xajax中文手册(HonestQiao第一版,FlyingHail修改版)<二>
  • 发布时间:2007-09-14 22:33:48    浏览数:8288    发布者:tzlink    设置字体【   
如何更新内容?
  xajax最富有特色的功能或许就是xajaxResponse类. 其他的Ajax库需要你自己编写Javascript的回调句柄去处理一个异步请求返回的数据并更新内容. xajax, 从另外一个角度来说, 允许你使用PHP简单的控制内容. xajaxResponse 让你在PHP函数之中创建XML指令返回给你的程序. XML将被xajax的消息分析器解析,指令将告诉xajax如何更新程序的内容和状态. xajaxResponse类目前提供了以下指令:
* addConfirmCommands (integer $iCmdNumber, string $sMessage)
弹出一个显示内容为$sMessage的confirm确认提示框
如果点击确认框中的取消将跳过后面的$iCmdNumber条命令

PHP:

$objResponse->addConfirmCommands(1, "Do you want to preview the new data?");
* addAssign(string $sTarget, string $sAttribute, string $sData)
给ID为$sTargetId的元素的$sAttribute属性赋值$sData

PHP:

$objResponse->addAssign("contentDiv","innerHTML","Some Text");
$objResponse->addAssign("checkBox1","checked","true");
* addAppend(string $sTarget, string $sAttribute, string $sData)
给ID为$sTargetId的元素的$sAttribute属性后面追加值$sData

PHP:

$objResponse->addAppend("contentDiv","innerHTML","Some Text");
* addPrepend(string $sTarget, string $sAttribute, string $sData)
给ID为$sTargetId的元素的$sAttribute属性前面添加值$sData

PHP:

$objResponse->addPrepend("contentDiv","innerHTML","Some Text");
* addReplace(string $sTarget, string $sAttribute, string $sSearch, string $sData)
替换命名为$sTargetId的元素的$sAttribute属性的值之中的$sSearch为$sData

PHP:

$objResponse->addReplace("contentDiv","innerHTML","text","<strong>text</strong>");
* addClear(string $sTarget, string $sAttribute)
清空命名为$sTargetId的元素的$sAttribute属性的值

PHP:

$objResponse->addClear("Input1","value");
* addAlert(string $sMsg)
显示一个内容为 $sMsg 的警告框(Javascript的Alert)

PHP:

$objResponse->addAlert("This is some text");
* addRedirect(string $sURL)
转跳到另一个地址$sURL,使用addScript()方法实现

PHP:

$objResponse->addRedirect("http://www.xajaxproject.org");
* addScript(string $sJS)
执行Javascript代码 $sJS

PHP:

$objResponse->addScript("var txt = prompt('get some text');");
* addScriptCall()
执行Javascript代码中的函数,第一个参数表示Javascript函数名,后面的参数为Javascript函数的参数

PHP:

$objResponse->addScriptCall("myJSFunction", "arg 1", "arg 2", 12345);
* addRemove(string $sTarget)
从你的页面之中移除ID为$sTarget的元素

PHP:

$objResponse->addRemove("Div2");
* addCreate(string $sParent, string $sTag, string $sId)
在已经存在的ID为$sParentId的元素内添加一个名叫$sTag的子元素,并且把它的id赋值为$sId。INPUT类型的元素须使用addCreateInput()方法.。

PHP:

$objResponse->addCreate("childDiv", "h3", "myid");
* addInsert(string $sBefore, string $sTag, string $sId)
在已经存在的ID为$sBefore的元素前面添加一个名叫$sTag的元素,并且把它的id赋值为$sId。

PHP:

$objResponse->addInsertAfter("parentDiv", "h3", "myid");
* addInsertAfter(string $sAfter, string $sTag, string $sId)
在已经存在的ID为$sBefore的元素后面添加一个名叫$sTag的元素,并且把它的id赋值为$sId。

PHP:

$objResponse->addInsert("parentDiv", "h3", "myid");
* addCreateInput(string $sParent, string $sType, string $sName, string $sId)
在已经存在的ID为$sParent的元素内添加一个类型为$sType,Name为$sName,ID为$sId的INPUT元素。

PHP:

$objResponse->addCreateInput("form1", "text", "username", "input1");
* addInsertInput(string $sBefore, string $sType, string $sName, string $sId)
在已经存在的ID为$sBefore的元素前面添加一个类型为$sType,Name为$sName,ID为$sId的INPUT元素。

PHP:

$objResponse->addInsertInput("input5", "text", "username", "input1");
* addInsertInputAfter(string $sAfter, string $sType, string $sName, string $sId)
在已经存在的ID为$sAfter的元素后面添加一个类型为$sType,Name为$sName,ID为$sId的INPUT元素。

PHP:

$objResponse->addInsertInputAfter("input7", "text", "email", "input2");
* addEvent(string $sTarget, string $sEvent, string $sScript)
为ID是$sTarget的元素后面添加一个名为$sEvent的事件,其执行的脚本为$sScript

PHP:

$objResponse->addEvent("contentDiv", "onclick", "alert(\'Hello World\');");
* addHandler(string $sTarget, string $sEvent, string $sHandler)
为ID是$sTarget的元素名为$sEvent的事件添加一个句柄$sHandler(即Javascript函数名),可以为一个事件添加多个句柄。

PHP:

$objResponse->addHandler("contentDiv", "onclick", "content_click");
# addEvent与addHandler的区别:
addEvent关心的是事件被触发,即onclick中的on-,addHandler关心的是事件触发了什么操作,即onclick中的click。
其差别类似于为一个元素定义事件属性和使用addEventListener()方法定义一个事件句柄。

* addRemoveHandler(string $sTarget, string $sEvent, string $sHandler)
删除ID是$sTarget的元素名为$sEvent的事件中的句柄$sHandler。

PHP:

$objResponse->addRemoveHandler("contentDiv", "onclick", "content_click");
* addIncludeScript(string $sFileName)
包含名为$sFileName的Javascript文件。

PHP:

$objResponse->addIncludeScript("functions.js");
一个独立的XML响应可能包含多个指令, 他们将按照加入响应的顺序执行. 让我们用一个用户在你的程序之中点击按钮为例来进行说明. Onclick事件调用PHP函数对应的javascript封装.这个封装通过XMLHttpRequest发送异步请求到服务器给xajax调用 PHP函数. PHP函数做了一次数据库查询, 处理了一些数据, 或者序列化. 然后你使用xajaxResponse类生成包含多个指令的xajax的XML响应 ,并回送给xajax的消息分析器执行:

PHP:

$objResponse = new xajaxResponse();
$objResponse.addAssign("myInput1","value",$DataFromDatabase);
$objResponse.addAssign("myInput1","style.color","red");
$objResponse.addAppend("myDiv1","innerHTML",$DataFromDatabase2);
$objResponse.addPrepend("myDiv2","innerHTML",$DataFromDatabase3);
$objResponse.addReplace("myDiv3","innerHTML","xajax","<strong>xajax</strong>");
$objResponse.addScript("var x = prompt("Enter Your Name");");
return $objResponse;
xajax消息分析器将会解析XML消息,并执行以下工作:

2. id为myInput1的元素的值将被赋值为 $DataFromDatabase的数据.
3. id为myInput1的元素的颜色将会变为red.
4. $DataFromDatabase2的数据会被追加到id为myDiv1的元素innerHTML之中.
5. $DataFromDatabase3的数据会被预先赋值给id为myDiv2的元素innerHTML之中.
6. id为myDiv3的元素的innerHTML 之中所有的"xajax"将被替换为"xajax"; 使得所有的单词 xajax 显示加粗.
7. 一个提示框将会显示,用来询问用户姓名,从提示框返回的值会被命名为x的javascript变量接收.

  所有这些都由构成的PHP函数在服务器端执行并返回xajax的XML响应.
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理