分享

网拾社区 - PHP & Mysql - xajax基础心得

 weicat 2006-03-16
xajax基础心得

转自:http://spaces./blackwoodk ... 2wpZwYtrg!169.entry

最近研究了一下ajax,最后选了xajax作为基本class
参考站点:http://xajax.

因为基本都是gb2312所以把xajax.inc.php里面的编码改了一下,不过老实说UTF-8不错:
$this->xml = "<?xml version=\"1.0\" encoding=\"GB2312\"?>";
重新封装了一下KaneXajax类,
除此以外基本没怎么改动。
<?php
require_once(‘Smarty/Smarty.class.php‘
);
require_once(
‘Xajax/xajax.inc.php‘
);
function
myFunction($arg
)
{
$objResponse = new xajaxResponse
();
$objResponse->addAssign("SomeElementId","innerHTML", $newContent
);
return
$objResponse->getXML
();
}
$Kanexajax = new KaneXajax
();
$Kanexajax->registerFunction("myFunction"
);
$Kanexajax->processRequests
();
$KaneSMARTY = new KaneSmarty
();
$KaneSMARTY->assign(‘xajax_javascript‘, $xajax->getJavascript
());
$KaneSMARTY->display(myTEMPLATE
);
?>
一个最基本的php就ok了,当然tpl里面<{$xajax_javascript}>要加到<HEAD></HEAD>之间

再说说基本的方法吧:

* addAssign($sTargetId,$sAttribute,$sData)
设置$sTargetId元素的$sAttribute属性为$sData,常用的有div的innerHTML,input的value什么的。
$objResponse->addAssign("contentDiv","innerHTML","Some Text");
$objResponse->addAssign("checkBox1","checked","true");
* addAppend($sTargetId,$sAttribute,$sData)
追加$sData到$sTargetId元素的$sAttribute属性上
$objResponse->addAppend("contentDiv","innerHTML","Some Text");
* addPrepend($sTargetId,$sAttribute,$sData)
预制$sTargetId元素的$sAttribute属性为$sData,老实说,没在实战中用过呢,呵呵
$objResponse->addPrepend("contentDiv","innerHTML","Some Text");
* addReplace($sTargetId,$sAttribute,$sSearch,$sData)
替换$sTargetId元素的$sAttribute属性中的$sSearch为$sData。
$objResponse->addReplace("contentDiv","innerHTML","text","<strong>text</strong>");
* addClear($sTargetId,$sAttribute)
清空$sTargetId元素的$sAttribute属性
$objResponse->addClear("Input1","value");
* addCreate($sParentId, $sTagname, $sId, $sType)
创建$sParentId元素的一个新的子元素,其name为$sTagname,Id为$sId,类型为$sType
$objResponse->addCreate("form1","input", "pass", "password");
* addRemove($sElementId)
移除$sElementId元素
$objResponse->addRemove("div1");
* addAlert($sMsg)
弹出一个内容为$sMsg的提示框
$objResponse->addAlert("This is some text");
* addScript($sJS)
执行一段javascript
$objResponse->addScript("var txt = prompt(‘get some text‘);");
$objResponse->addScript("window.location=\""."demo.php?id=1"."\";");
这两天用PHP+SMARTY+XAJAX写了一些小东西,感觉上就是调试完全靠感觉,不过
按照DB的debug,Smarty的debug,xajax的debugOn(),的步骤,一步步地测好再往下写会好很多
因为,smarty已经够敏感,经常给你一张大白脸,而xajax更加敏感,任何的地方有一点小错误,他立刻完蛋,这样的女人娶回家真是挺可怕的,不过谁让她支持Smarty呢?

过两天再把改好的一些代码贴上来吧,感觉还有的优化。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多