xajax中文手册(4)

$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响应.

如那里理惩罚表单数据?
  xajax使得异步处理惩罚表单数据很是很是的简朴. xajax.getFormValues()要了解自动的从表单提取数据,并作为一个参数提交给xajax注册的PHP函数.
  xajax.getFormValues() 仅仅需要一个参数, 可以是你需要处理惩罚得表单的id, 可能是一个实际的表单工具. 你也可以利用xajax.getFormValues作为一个参数给xajax 函数, 譬喻:

PHP:

  xajax_processFormData(xajax.getFormValues('formId'));

  xajax 会生成一个与表单数据对应的请求字符串给xajax处事器理会,然后以一个与表单数据对应的数组通报给PHP函数,就想你提交表单利用PHP的$_GET数组那么简朴.
  xajax可以处理惩罚雷同普通多维数组可能连系数组(哈希数组)等形式的巨大输入名字. 譬喻, 假如一个表单有三个多选框(checkboxes)而且都定名为 "checkbox[]", 可是值别离为 "check1", "check2", 和 "check3", 然后利用 xajax.getFormValues 函数作为参数通报给xajax 函数, 则 PHP 函数会接管到一个如下的数组:

PHP:

array (

  'checkbox' =>

  array (

    0 => 'check1',

    1 => 'check2',

    2 => 'check3',

  ),

)

作为函数参数的数组的布局与传统意义上提交表单之后的$_GET数组的布局沟通. 你可以会见数组之中的checkbox 的数据: $aFormData['checkbox'][0]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8607.html