propery.js

Prototype.js 提供了Ruby风格的简写语法和实效的函数,更难得的是完全跨浏览器,让大家舒舒服服写出又精简又不用愁心兼容的的JS代码,springside 已经离不开它了。

 Prototype.js最重要的文档有:

Propery.js 封装了js开发中的工具类和方法,使用它开发ajax非常方便,包下载地址:http://prototype.conio.net.

<script src="js/prototype.js" type="text/javascript"></script><script src="js/mylib.js" type="text/javascript"></script>

Property.js的语法常用的有,例如获取Document节点的引用:
例如:var n=$("name_info")-----var n=document.getElementById('name_info');
var value=$F(n)或者$F("name_info")-------value=n.value;

Element系列有很多实用的函数:  

js 代码片断
  1. $('bookdiv').update(' < p >   ');  // 更新innerHtml     
  2. $('bookdiv').show();    
  3. $('bookdiv').hide();   
  4. $('bookdiv').toggle();   // 切换visiable    
  5. $('bookdiv').visiable();   // 返回是否visiable    
  6. $('bookdiv').scrollTo();   
利用XMLHttpRequest对象与服务端通信,它对这个控件的使用作了封装:
 Ajax.Request发送请求;
例子:

  
  
js 代码片断
  1. function showInfo(go_url){   
  2.     if($("display_area") && go_url){   
  3.         var xmlHttp= new Ajax.Request(go_url, {method: "post",   
  4.                 parameters: Form.serialize(document.forms[0]),   
  5.                 onComplete:function(  ){   
  6.             if(xmlHttp.responseIsFailure(  )) {   
  7.                 var sts = xmlHttp.transport.status ? xmlHttp.   
  8.                 transport.status : "undefined";   
  9.                 $("display_area").value=   
  10.                 "XMlHttpRequest returned response status "+sts;   
  11.                 document.getElementById("msg").innerHTML=   
  12.                 "HTTP response and server information; "+   
  13.                 "response status="+   
  14.                 xmlHttp.transport.status;   
  15.             } else {   
  16.                 $("display_area").value=xmlHttp.transport.responseText;   
  17.                 document.getElementById("msg").innerHTML=   
  18.                 "HTTP response and server information; "+   
  19.                 "response status="+   
  20.                 xmlHttp.transport.status;   
  21.             }   
  22.         }});   
  23.     }   
  24. }  
 Ajax.Updater在server端对HTML的内容修改;
如果你的服务器的另一端返回的信息已经是HTML了 ,用Ajax.Updater你只需提供哪一个元素需要被AJAX请求返回的HTML填充就可以了
 例子:

 
 
js 代码
  1. script>   
  2. function getHTML()   
  3. {   
  4. var url = 'http://yourserver/app/getSomeHTML';   
  5. var pars = 'someParameter=ABC';   
  6.   
  7. var myAjax = new Ajax.Updater(   
  8. 'placeholder',   
  9. url,   
  10. {   
  11. method: 'get',   
  12. parameters: pars   
  13. });   
  14.   
  15. }   
  16.   
  17. "getHTML()">   
  18. "placeholder">
  

 你可以看到,这段代码比前面的例子更加简洁,不包括 onComplete 方法,但是在构造方法中传入了一个元素id。

 这个方法的具体使用见说明文档:http://thinhunan.cnblogs.com/archive/2006/04/01/DeveloperNotesForPrototype.html

假设你想要在一个AJAX调用正在运行时,显示一些提示效果,像一个不断转动的图标之类的,你可以使用两个全局事件Handler来做到,其中一个在第一个调用开始时显示图标,另一个在最后一个调用完成时隐藏图标。看下面的例子。

 <script>
var myGlobalHandlers = {
onCreate: function(){
Element.show('systemWorking');
},
onComplete: function() {
if(Ajax.activeRequestCount == 0){
Element.hide('systemWorking');
}
}
};
Ajax.Responders.register(myGlobalHandlers);
</script>
Loading...

继续中......

你可能感兴趣的:(JavaScript,Ajax,prototype,Ruby,Go)