xajax基礎(chǔ)心得


          轉(zhuǎn)自:http://spaces.msn.com/blackwoodk ... 2wpZwYtrg!169.entry

          最近研究了一下ajax,最后選了xajax作為基本class
          參考站點(diǎn):http://xajax.sourceforge.net

          因?yàn)榛径际莋b2312所以把xajax.inc.php里面的編碼改了一下,不過(guò)老實(shí)說(shuō)UTF-8不錯(cuò):
          $this->xml = "<?xml version="1.0" encoding="GB2312"?>";
          重新封裝了一下KaneXajax類,
          除此以外基本沒(méi)怎么改動(dòng)。

          <?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);
          ?>
          一個(gè)最基本的php就ok了,當(dāng)然tpl里面<{$xajax_javascript}>要加到<HEAD></HEAD>之間

          再說(shuō)說(shuō)基本的方法吧:

          * addAssign($sTargetId,$sAttribute,$sData)
          設(shè)置$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)
          預(yù)制$sTargetId元素的$sAttribute屬性為$sData,老實(shí)說(shuō),沒(méi)在實(shí)戰(zhàn)中用過(guò)呢,呵呵

          $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)
          創(chuàng)建$sParentId元素的一個(gè)新的子元素,其name為$sTagname,Id為$sId,類型為$sType

          $objResponse->addCreate("form1","input", "pass", "password");
          * addRemove($sElementId)
          移除$sElementId元素

          $objResponse->addRemove("div1");
          * addAlert($sMsg)
          彈出一個(gè)內(nèi)容為$sMsg的提示框

          $objResponse->addAlert("This is some text");
          * addScript($sJS)
          執(zhí)行一段javascript

          $objResponse->addScript("var txt = prompt(‘get some text‘);");
          $objResponse->addScript("window.location=""."demo.php?id=1"."";");
          這兩天用PHP+SMARTY+XAJAX寫了一些小東西,感覺(jué)上就是調(diào)試完全靠感覺(jué),不過(guò)
          按照DB的debug,Smarty的debug,xajax的debugOn(),的步驟,一步步地測(cè)好再往下寫會(huì)好很多
          因?yàn)?,smarty已經(jīng)夠敏感,經(jīng)常給你一張大白臉,而xajax更加敏感,任何的地方有一點(diǎn)小錯(cuò)誤,他立刻完蛋,這樣的女人娶回家真是挺可怕的,不過(guò)誰(shuí)讓她支持Smarty呢?

          過(guò)兩天再把改好的一些代碼貼上來(lái)吧,感覺(jué)還有的優(yōu)化
          posted on 2006-09-13 22:22 JRobot 閱讀(248) 評(píng)論(0)  編輯  收藏 所屬分類: xml相關(guān)
          主站蜘蛛池模板: 攀枝花市| 临安市| 信阳市| 贵州省| 宿松县| 江孜县| 二连浩特市| 包头市| 平和县| 南华县| 大关县| 莎车县| 瑞丽市| 富蕴县| 海城市| 吴桥县| 新河县| 海兴县| 宜丰县| 五寨县| 义马市| 弥勒县| 郎溪县| 西吉县| 武穴市| 高邮市| 绍兴县| 温泉县| 双辽市| 浮山县| 平远县| 东丽区| 姜堰市| 广汉市| 康马县| 肃北| 家居| 长乐市| 新昌县| 九江市| 唐河县|