如何给xajax增加定制成果?
xajax可以利用各类附加的用户定制成果举办扩展. 正因为xajax是完全面向工具的,而且可以利用xajaxResponse的addScript()要领,所以他具有无限扩展的大概. 你可以建设你本身的xajax响应类,来担任xajaxResponse 类以及它的要领,并加上你本身定制的响应. 让我们用一个定制的增加选择组合框(select combo boxes)选项的响应指令的例子来说明. 你可以象下面这样扩展xajaxResponse 类:
PHP:
class myxajaxResponse extends xajaxResponse
[
function addAddOption($sSelectId, $sOptionText, $sOptionValue)
[
$sScript = "var objOption = new Option('".$sOptionText."','".$sOptionValue."');";
$sScript .= "document.getElementById('".$sSelectId."').options.add(objOption);";
$this->addScript($sScript);
]
]
此刻, 代替xajaxResponse 工具的初始化, 把你本身的 myxajaxResponse 工具的初始化界说到你的 xajax PHP 函数之中:
PHP:
$objResponse = new myxajaxResponse();
$objResponse->addAssign("div1", "innerHTML", "Some Text");
$objResponse->addAddOption("select1","New Option","13");
return $objResponse;
被挪用时,这个要领将会发送需要的javascript到页面并执行. 虽然你也有别的一种做法Alternatively, 你可以在你的措施之中建设一个如下的javascript函数:
JavaScript:
<script type="text/javascript">
function addOption(selectId,txt,val)
[
var objOption = new Option(txt,val);
document.getElementById(selectId).options.add(objOption);
]
</script>
而且利用addScript() 挪用这个要领:
PHP:
$objResponse->addScript("addOption('select1','New Option','13');");
如何建设Loading...信息?
xajax提供了一个简朴可是重要的成果,那就是在xajax 举办处事器挪用时模仿反馈用的“Loading...”信息。xajax已经界说了两个 Javascript函数:xajax.loadingFunction()和xajax.doneLoadingFunction(),你可以用你本身界说的Javascript函数来从头界说它们以满意项目标需要,譬喻:
JavaScript:
xajax.loadingFunction = myCustomLoadingFunction;
可能
JavaScript:
xajax.loadingFunction = function()[xajax.$('loadingBar').style.display='block';];