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里面的編碼改了一下,不過老實(shí)說UTF-8不錯(cuò):
          $this->xml = "<?xml version="1.0" encoding="GB2312"?>";
          重新封裝了一下KaneXajax類,
          除此以外基本沒怎么改動(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>之間

          再說說基本的方法吧:

          * 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í)說,沒在實(shí)戰(zhàn)中用過呢,呵呵

          $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寫了一些小東西,感覺上就是調(diào)試完全靠感覺,不過
          按照DB的debug,Smarty的debug,xajax的debugOn(),的步驟,一步步地測好再往下寫會(huì)好很多
          因?yàn)?,smarty已經(jīng)夠敏感,經(jīng)常給你一張大白臉,而xajax更加敏感,任何的地方有一點(diǎn)小錯(cuò)誤,他立刻完蛋,這樣的女人娶回家真是挺可怕的,不過誰讓她支持Smarty呢?

          過兩天再把改好的一些代碼貼上來吧,感覺還有的優(yōu)化
          posted on 2006-09-13 22:22 JRobot 閱讀(247) 評論(0)  編輯  收藏 所屬分類: xml相關(guān)
          主站蜘蛛池模板: 会同县| 金秀| 浙江省| 明光市| 波密县| 万全县| 吕梁市| 塘沽区| 天祝| 叙永县| 怀集县| 南安市| 克山县| 中宁县| 浪卡子县| 汶川县| 兖州市| 杨浦区| 水富县| 合肥市| 松桃| 托克托县| 从江县| 抚顺县| 永新县| 彝良县| 葵青区| 扎赉特旗| 高雄县| 闻喜县| 洪洞县| 牡丹江市| 郑州市| 仁怀市| 景洪市| 彭山县| 泸西县| 南乐县| 嘉祥县| 江阴市| 固原市|