??xml version="1.0" encoding="utf-8" standalone="yes"?>精品国产三级a在线观看,亚洲一区二区高清,亚洲一区二区自拍http://www.aygfsteel.com/mycolby/category/34133.htmlhomezh-cnSun, 31 Aug 2008 12:20:26 GMTSun, 31 Aug 2008 12:20:26 GMT60AJAX不错的网?/title><link>http://www.aygfsteel.com/mycolby/articles/225931.html</link><dc:creator>剑秋</dc:creator><author>剑秋</author><pubDate>Sun, 31 Aug 2008 11:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/mycolby/articles/225931.html</guid><wfw:comment>http://www.aygfsteel.com/mycolby/comments/225931.html</wfw:comment><comments>http://www.aygfsteel.com/mycolby/articles/225931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mycolby/comments/commentRss/225931.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mycolby/services/trackbacks/225931.html</trackback:ping><description><![CDATA[http://www.yitongshui.com/it/biancheng/ajax/ <img src ="http://www.aygfsteel.com/mycolby/aggbug/225931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mycolby/" target="_blank">剑秋</a> 2008-08-31 19:58 <a href="http://www.aygfsteel.com/mycolby/articles/225931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>prototype常用函数?qing)其用??http://www.aygfsteel.com/mycolby/articles/225635.html剑秋剑秋Fri, 29 Aug 2008 09:51:00 GMThttp://www.aygfsteel.com/mycolby/articles/225635.htmlhttp://www.aygfsteel.com/mycolby/comments/225635.htmlhttp://www.aygfsteel.com/mycolby/articles/225635.html#Feedback0http://www.aygfsteel.com/mycolby/comments/commentRss/225635.htmlhttp://www.aygfsteel.com/mycolby/services/trackbacks/225635.htmlprototype常用函数?qing)其用?/a> prototype.js常用函数:
函数?/td>  解释  举例
 Element.toggle  交替隐藏或显C?/td>  Element.toggle(''div1'',''div2'')
 Element.hide  隐藏  Element.hide(''div1'',''div2'')
 Element.show  Element.show(''div1'',''div2'')
 Element.remove  删除  Element.remove(''div1'',''div2'')
 Element.getHeight  取得高度  Element.getHeight(''div1'')
 Toggle.display  和Element.toggle相同  Toggle.display(''div1'',''div2'')
 Insertion.Before  在DIV前插入文?/td>  Insertion.Before(''div1'',''my content'')
 Insertion.After  在DIV后插入文?/td>  Insertion.After(''div1'',''my content'')
 Insertion.Top  在DIV里最前插入文?/td>  Insertion.Top(''div1'',''this is a text'')
 Insertion.Bottom  在DIV里最后插入文?/td>  Insertion.Bottom(''div1'',''this is a text'')
 PeriodicalExecuter  以给定频率调用一DJavaScript  PeridicalExecutor(test, 1)"q里test是Javascript的函?1是频?1U?.
 $  取得一个DIV, 相当于getElementById()  $(''div1'')
 Field.clear  清空一个输入框  Field.clear(''textfield1'')
 Field.focus ?nbsp;焦点集中在输入框?/td>  Field.focus(''select1'')
 Field.present  判断内容是否为空  alert(Field.present(''textfield1''))"
 Field.select  选择输入框的内容  Field.select(''textfield1'')"
 Field.activate  ?nbsp;焦点集中在输入框上ƈ选择输入框的内容  Field.activate(''textfield1'')"
 Form.serialize  把表格内容{化成string  
 Form.getElements  取得表格内容为数lŞ?/td>  
 Form.disable  disable表格所有内?/td>  Form.disable(''form1'') (q个好象不work)
 Form.focusFirstElement  把焦炚w中在表格W一个元素上  Form.focusFirstElement(''form1'')
 Form.reset  Reset表格 Form.reset(''form1'')
 Form.Element.getValue  取得表格输入框的?/td>  Form.Element.getValue(''text1'')
 Form.Element.serialize   把表g输入框内容{化成string  Form.Element.serialize(''text1'')
 $F  {同于Form.Element.getValue()  $F(''text1'')
 Effect.Highlight  高亮Ҏ(gu).  Effect.Highlight(''text1'')
 Effect.Fade  褪色Ҏ(gu)  
 Effect.Scale  攑֤~小(癑ֈ比)

Effect.Scale(''text1'', 200)
q里200 = 200%, 即两?/p>

 Effect.Squish  消失Ҏ(gu)Q文字羃?yu)后消?/td>  Effect.Squish(''text1'')
 Effect.Puff  消失Ҏ(gu)Q文字放大后消失  Effect.Puff(''text1'')
 Effect.Appear  出现Ҏ(gu)  
 Effect.ContentZoom  ZOOMҎ(gu)Q?/td>  
 Ajax.Request  传送Ajaxhl服务器  Ajax.Request(''http://server/s.php'')
 Ajax.Updater  传送Ajaxhl服务器q用{复的结果更新指定的Container  Ajax.Updater(''text1'',''http://server/s.php'')

      基本用法:prototype.jsl每个主要的c都分了一个Class,使用h很方?要生特定的效果,只要用new Class.function(<argument>)可以了.例如:

<DIV id="div1"><a href="#" onclick="new Element.toggle('div2')">Click Me</a></DIV>
<DIV id="div2">Hello!</DIV>

      当点击Click Me的时?div2׃(x)交替隐藏或显C?注意,你可以给toggle加上无限个parameter,比如Element.toggle(''div2'',''div3'',''div4'',...)



剑秋 2008-08-29 17:51 发表评论
]]>
AJAX学习(fn)W记(?http://www.aygfsteel.com/mycolby/articles/225569.html剑秋剑秋Fri, 29 Aug 2008 06:17:00 GMThttp://www.aygfsteel.com/mycolby/articles/225569.htmlhttp://www.aygfsteel.com/mycolby/comments/225569.htmlhttp://www.aygfsteel.com/mycolby/articles/225569.html#Feedback0http://www.aygfsteel.com/mycolby/comments/commentRss/225569.htmlhttp://www.aygfsteel.com/mycolby/services/trackbacks/225569.htmlPrototype框架
        面插入
        1QInsertion.Beforec?/strong>
                新徏Insertion.Beforecȝ实例Q会(x)指定的HTMLd到指定元素之前,q且与之盔R
                CZQ?br />                 <div id="div1">original text</div>
                <script>
                //执行以下脚本以后Q页面的HTML代码变为:(x)
                //new test<div id="div1">original text</div>
                new Insertion.Before("div1","new text");
                </script>

        2QInsertion.Topc?/strong>
                新徏Insertion.Topcȝ实例Q会(x)指定的HTMLd到指定元素内部,位置在元素开始之后ƈ且与之相?br />                 CZQ?br />                 <div id="div1">original text</div>
                <script>
               //执行以下脚本以后Q元素div1的innerHTML属性是Q?br />                 //new test original text
                new Insertion.Top("div1","new text");
                </script>

          3QInsertion.Bottomc?/strong>
                新徏Insertion.Bottomcȝ实例Q会(x)指定的HTMLd到指定元素内部,位置在元素结束标C前ƈ且与之相?br />                 CZQ?br />                 <div id="div1">original text</div>
                <script>
                //执行下面的脚本以后,元素div1的innerHTML属性将?br />                 //original text new text
                new Insertion.Bottom("div1","new text");
                </script>

          4QInsertion.Afterc?/strong>
                新徏Insertion.Aftercȝ实例Q会(x)指定的HTMLd到指定元素之后,q且与之盔R
                CZQ?br />                 <div id="div1">original text</div>
                <script>
                //执行下面的脚本以后,面的HTML代码变为:(x)
               //<div id="div1">original text</div>new text
                new Insertion.After("div1","new text");
                </script>
                
        表单支持
        1QField.clear()

剑秋 2008-08-29 14:17 发表评论
]]>
AJAX学习(fn)W记Q六Q?/title><link>http://www.aygfsteel.com/mycolby/articles/225358.html</link><dc:creator>剑秋</dc:creator><author>剑秋</author><pubDate>Thu, 28 Aug 2008 09:23:00 GMT</pubDate><guid>http://www.aygfsteel.com/mycolby/articles/225358.html</guid><wfw:comment>http://www.aygfsteel.com/mycolby/comments/225358.html</wfw:comment><comments>http://www.aygfsteel.com/mycolby/articles/225358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mycolby/comments/commentRss/225358.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mycolby/services/trackbacks/225358.html</trackback:ping><description><![CDATA[    <span style="font-size: 14pt"><strong>Prototype框架<br /> </strong></span>    <span style="font-size: 12pt"><strong>枚D对象(Enumerable对象)</strong></span><br />    <strong>     1.Enumerable.each(iterator)</strong><br />         eachҎ(gu)的参数是一个JavaScript函数Q它可以接受两个参数Q它们分别是当前遍历的集合元素和当前遍历元素在集合中的序?br />         CZQ?br />         var arr = [1,2,3,4]; <br />         arr.each(<br />            function(item,index){<br />                if(index == 2)<br />                   alert("arr["+index+"]=" +item);//当序号ؓ(f)2的时候,输出"arr[2]=3"<br />                }<br />            );<br /> <br />        <strong> 2.$break?continue对象</strong><br />         遍历集合元素时实C定的程控制<br />         CZQ?br />         var arr = [1,2,3,4,8,5,4,3]; <br />         //输出l果为:(x)1,2,3,4,5,4,3<br />         arr.each(<br />            function(item,index){<br />                if(item < 6){<br />                   alert(item);<br />               } else{<br />                 //出现大于{于6的数跌Ql处理下一个元?br />               <strong> $continue; //如果按照如下的例子用throw $continue会(x)l束遍历<br /> </strong>              }<br />            }<br />       );<br />  <br />         var arr = [1,2,3,4,8,5,4,3]; <br />         //输出l果为:(x)1,2,3,4,5,4,3<br />         arr.each(<br />            function(item,index){<br />                if(item < 6){<br />                   alert(item);<br />               } else{<br />                 //出现大于{于6的数跌Ql处理下一个元?br />               <strong> throw $break;</strong><br />               }<br />            }<br />       );<br /> <br />         <strong>3.Enumerable.all(iterator)</strong><br />         用于判断集合内的所有元素是否符合某个条Ӟ如果条g均返回trueQ那么allҎ(gu)q回trueQ否则返回false<br />         CZQ?br />         var arr = [1,2,3,4,8,5,-4,3]; <br />        var boolean = arr.all(<br />            function(item,index){<br />                return(item>0)<br />            }<br />        );<br />        alert(boolean);    //输出false;<br /> <br />        <strong>     4.Enumerable.collect(iterator)</strong><br />             遍历集合中所有元素,q回的结果按照集合中的顺序生成一个Array对象q回<br />             CZQ?br />             var arr = [1,2,3,4,8,5,4,3]; <br />             var newArr = arr.collect(<br />                    function(item,index){<br />                        return(item * item)<br />                    }<br />               );<br />            alert(newArr);//输出"1,4,9,16,64,25,16,9"<br /> <br />   <strong>          5.Enumerable.find(iterator)</strong><br />             q回满条g的元素值或者布?yu)(dng)?br />             CZQ?br />             var arr = [1,2,3,4,8,5,4,3]; <br />             var ele = arr.find(<br />                    function(item,index){<br />                         <strong>if(item > 3)<br />                           return(item)</strong>  <br />                   }<br />              );<br />            alert(ele);//输出?4<br />            黑体部分可以换成Qreturn (item > 3)q回布尔值用来判断该集合是否有满x件的元素<br /> <br />          <strong>   6.Enumerable.findAll(iterator)</strong><br />                 满条g的所有元素以Array对象q回<br />                 var arr = [1,2,3,4,8,5,4,3]; <br />                 var ele = arr.findAll(<br />                        function(item,index){<br />                             if(item > 3)<br />                               return(item)<br />                       }<br />                 );<br />                alert(ele);//输出"4,8,5,4"<br /> <br />           <strong>  7.Enumerable.grep(pattern,iterator)</strong><br />                 pattern参数是正则表辑ּ,<br />                 CZQ?br />                 var arr = ["12345","abc2","cde","fgh","132ba"]; <br />                 var newArray = arr.grep(<br />                            /2/,<br />                            function(item,index){<br />                                 alert(item);//输出"12345","abc2","132ba"<br />                            }<br />                );<br /> <br />  <strong>           8.Enumerable.include(obj)<br /> </strong>                判断obj对象是否是集合的成员<br />                 CZQ?br />                 var arr = [1,2,3,4,5]; <br />                 var ele = arr.include(2);<br />                alert(ele);//输出true<br /> <br />   <strong>          9.Enumerable.max(iterator)</strong><br />                 q回集合中最大元?br />                 CZQ?br />                 var arr = [1,2,3,4,5]; <br />                 var ele = arr.max();<br />                 alert(ele); //输出5<br /> <br />     <strong>        10.Enumerable.min(iterator)</strong><br />                 q回集合中最元?br /> <br />       <strong>      11.Enumerable.sortBy(iterator)</strong><br />                  q行排序<br />                  CZQ?br />                 var arr = [1,5,3,2,4]; <br />                 var arr = arr.sortBy(<br />                      function(item,index){<br />                            return item;<br />                      }<br />                );<br />                alert(arr);//输出"1,2,3,4,5" <img src ="http://www.aygfsteel.com/mycolby/aggbug/225358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mycolby/" target="_blank">剑秋</a> 2008-08-28 17:23 <a href="http://www.aygfsteel.com/mycolby/articles/225358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX学习(fn)W记Q五Q?/title><link>http://www.aygfsteel.com/mycolby/articles/225332.html</link><dc:creator>剑秋</dc:creator><author>剑秋</author><pubDate>Thu, 28 Aug 2008 08:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/mycolby/articles/225332.html</guid><wfw:comment>http://www.aygfsteel.com/mycolby/comments/225332.html</wfw:comment><comments>http://www.aygfsteel.com/mycolby/articles/225332.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mycolby/comments/commentRss/225332.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mycolby/services/trackbacks/225332.html</trackback:ping><description><![CDATA[<p> Prototype基础c:(x)<br />        <strong>1. Class.create()<br /> </strong>            CZQ?br />                 var myClass = Class.create();<br /> <br />       <strong>2.  Object.extend(destination,source)<br /> </strong>            CZQ?br />                 var myClass = Class.create();<br />                 myClass.prototype = {<br />                 initialize: function() {<br />                  },<br />                  f1: function() {<br />                       alert("do f1()");<br />                  },<br />                  f2: function() {<br />                       alert("do f2()");<br />                  },<br />                  toString: function() {<br />                       return "myClass";<br />                  }<br />             };<br />             var mySubClass = Class.create();<br />             Object.extend(mySubClass.prototype, myClass.prototype);<br /> <br />        <strong>3. Object.inspect(object)</strong><br />             q回目标对象的文字说明,如果对象没有定义inspectҎ(gu)Q则默认q回object.toString()的?br />             CZQ?br />             var myClass = Class.create();<br />             myClass.prototype = {<br />                  initialize: function() {<br />                  },<br />                  toString: function() {<br />                   return "myClass";<br />                  }<br />             };<br />             var obj = new myClass();<br />             alert(Object.inspect(obj));<br />         <strong>4.Function.prototype.bind(object)</strong><br />             q回一个Function的实例,其结构与当前的Function对象完全相同Q只是作用域已经转移到参数指定的object对象?br />             CZQ?br />             var myClass = Class.create();<br />             myClass.prototype = {<br />                  initialize: function() {<br />                  },<br />                  name: "myClass",<br />                  f1: function() {<br />                      alert(this.name + " from f1");<br />                  }<br />             };<br />             var myClass2 = Class.create();<br />             myClass2.prototype = {<br />                  initialize: function() {<br />                  },<br />                  name: "myClass2",<br />                  f2: function() {<br />                       alert(this.name + " from f2");<br />                  }<br />             };<br />             var obj = new myClass();<br />             var obj2 = new myClass2();</p> <p>            obj2.f2 = obj.f1.bind(obj2);<br />             obj2.f2(); // 输出"myClass2 from f1"<br /> </p> <p>        <strong>5.Function.prototype.bindAsEventListener</strong><br />             与bindҎ(gu)的功能相同,只不qbingAsEvevntListener用于l定事g.<br />             CZQ?br />             var Watcher = Class.create();<br />             Watcher.prototype = {<br />                      initialize: function(buttonid, message) {<br />                               this.button = $(buttonid);<br />                               this.message = message;<br />                               // button的onclick和this对象的showMessageҎ(gu)l定h<br />                               this.button.onclick =<br />                                this.showMessage.bindAsEventListener(this);<br />                      },<br />                      showMessage: function() {<br />                           alert(this.message);<br />                      }<br />                 };<br />             var watcher = new Watcher('btn', 'clicked');<br /> <br />         <strong>6.PeriodicalExecuterc?/strong><br />             创徏PeriodicalExecutercȝ实例会(x)周期性地调用指定的方?br />             function setTime() {<br />                  $('divTime').innerHTML = (new Date()).toLocaleString();<br />             }<br />             new PeriodicalExecuter(setTime, 1);<br />             W一个参敎ͼ(x)调用的方法;W二个参敎ͼ(x)间隔多少U?br /> <br />         <strong>字符串处?String对象扩展)<br />            1.String .prototype.gsub(pattern,replacement)</strong><br />                 字W串中所有正则表辑ּ匚w的部分替换成指定的字W串<br />                 patternQ正则表辑ּ<br />                 replacementQ用作替换的字符?br />                 CZQ?br />                 var str = "this is a test test";<br />                 //输出"this is a new new"<br />                 alert(str.gsub(/test/,"new"));<br />                 <br />             <strong>2.String.prototype.truncate(length,truncation)</strong><br />                 字W串截断<br />                 lengthQ截断后字符串的长度Q默认gؓ(f)30<br />                 trancationQ截断字W串Ӟ替代N的字W串Q默认是"..."<br />                 CZQ?br />                  var str = "this is a test test";<br />                 //输出"this is ..."<br />                   alert(str.truncate(10));<br />                 //输出"this is a t..."<br />                 alert(str.truncate(14));<br />                 //输出"this is***"<br />                 alert(str.truncate(10,"***"));<br /> </p> <p>            <strong>3.String.prototype.strip()</strong><br />                 删除字符串前后的I白字符<br />                 CZQ?br />                 var str="this is a test test  ";<br />                 alert(str.strip().length);//19<br />                 alert(str.length);//21<br /> <br />             <strong>4.String.prototype.stripTags()</strong><br />                 U除字符串中所有的HTML和XML标签<br />                 CZQ?br />                 var str = "<table><tr><td>stripTagsDemo</td></tr></table>";<br />                alert(str.stripTags());//输出"stripTagsDemo"<br /> <br />             <strong>5.String.prototype.stripScripts()</strong><br />                 U除字符串所有的<script></script>脚本标记内容<br />                 CZQ?br />                 var str = "this is a test<script>alert('ok')<"+"/script>";<br />                alert(str.stripScripts());//输出"this is a test"<br /> <br />             <strong>6.String.prototype.evalScripts()</strong><br />                 执行在字W串中找到的所有脚?br />                 var str = "this is a test<script>alert('ok')<"+"/script>";<br />                str.evalScripts();//输出"ok"<br /> <br />             <strong>7.String.prototype.escapeHTML()</strong><br />                 字W串中的所有HTML标记q行转义<br />                 CZQ?br />                 var str = "<table><tr><td>stripTagsDemo</td></tr></table>";<br />                alert(str.escapeHTML());<br /> <br />             <strong>8.String.prototype.unescapeHTML()</strong><br />                 执行与escapeHTML()相反的操?br /> <br /> <br />             <strong>9.String.prototype.toQueryParams()</strong><br />                 查询字W串转化Z个联合数l?br />                 CZQ?br />                 var str = "a=1&b=2&c=3"<br />                 var arr = str.toQueryParams();<br />                 for(i in arr){<br />                      alert(arr[i]);//输出1,2,3<br />                }<br /> <br />             <strong>10.String.prototype.toArray()</strong><br />                 把字W串转换成字W数l?br />                 CZQ?br />                 var str = "test";  <br />                 //依次输出"t,e,s,t"<br />                str.toArray().each(<br />                     function(item){ <br />                        alert(item); <br />                    }<br />                ); <br /> <br />             <strong>11.String.prototype.extractScripts()</strong><br />                 从字W串中提取出所有的<script>脚本Q以字符串数l的形式q回<br />                 CZQ?br />                 var str = "this is a test<script>alert('ok')<"+"/script>";<br />                str += str;<br />                 //输出两遍alert('ok')<br />                str.extractScripts().each(<br />                    function(item){ <br />                        alert(item); <br />                    }<br />                ); <br />  </p>             <strong>12.String.prototype.camelize()</strong><br />                 一个以q字W连接的字符串{换成一个遵循骆驼命名法的字W串<br />                 CZQ?br />                 var str = "this-is-a-test";   <br />                 //输出"thisIsATest"<br />                alert(str.camelize());<br /> <br />           <img src ="http://www.aygfsteel.com/mycolby/aggbug/225332.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mycolby/" target="_blank">剑秋</a> 2008-08-28 16:08 <a href="http://www.aygfsteel.com/mycolby/articles/225332.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX学习(fn)W记(?http://www.aygfsteel.com/mycolby/articles/225264.html剑秋剑秋Thu, 28 Aug 2008 05:08:00 GMThttp://www.aygfsteel.com/mycolby/articles/225264.htmlhttp://www.aygfsteel.com/mycolby/comments/225264.htmlhttp://www.aygfsteel.com/mycolby/articles/225264.html#Feedback0http://www.aygfsteel.com/mycolby/comments/commentRss/225264.htmlhttp://www.aygfsteel.com/mycolby/services/trackbacks/225264.html    Prototype对Ajax的支?br />     Ajax.Requestc?/strong>
    如下代码是一个示例:(x)
    <!--客户端:(x)index.htm-->
    <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
    <script language="javascript">
         function test(){
          var myAjax = new Ajax.Request( 
         'data.html',
         {
            method:'get',
            onComplete:showResponse
         }
        );
         }
          function showResponse(response){
             $('myDiv').innerHTML=response.responseText;
          } 
    </script>
    </head>
    <body>
        <input type="button" value="click" onclick="test()" />
        <div id="myDiv" />
    </body>
    </html>

    <!--服务端:(x)data.html-->
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=gb2312">
        <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
       </head>
        <body>
            Ajax.Request DEMO
        </body>
        </html>

        Ajax操作选项属性含义:(x)
        method                    HTTPhҎ(gu)(POST/GET/HEAD)
        parameters              在HTTPh中传入的URL格式的值列表,是URL串中问号之后的部?br />         asynchronous          是否做异步XMLHttpRequesth
        postBody                在POSTh方式下,传入h体中的内?br />         requestHeaders       和请求一赯传入的HTTP头部列表Q这个列表必d有偶C目
        onXXXXXXX        在HTTPhQ响应的q程中,当XMLHttpRequest对象状态发生变化时调用的响应函敎ͼ响应函数?个:(x)onUninitialized,  onLoading,  onLoaded,  onInteractive?nbsp;  onComplete
        onSuccess               Ajax操作成功完成时调用的响应函数Q传入的参数与onXXXXXX相同
        onFailure                Ajax操作h完成但出现错误时调用的响应函敎ͼ传入的参ConXXXXXX相同
        onException           Ajax操作发生异常情况时调用的响应函数Q它可以接收两个参数Q第1个参数是执行HTTPh的XMLHttpRequest对象Q第2个参数是异常对象

    Ajax.Updaterc?br />     如下代码CZQ?br />      <!--客户端:(x)index.htm-->
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=gb2312">
        <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
        <script language="javascript">
             function test(){
                  var myAjax = new Ajax.Updater( 
                             'myDiv',
                             'data.html',
                             {
                                    method:'get'
                             }
                   );
             }  
        </script>
        </head>
        <body>
        <input type="button" value="click" onclick="test()" />
        <div id="myDiv" />
        </body>
        </html>
     <!--服务端:(x)data.html-->
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=gb2312">
        <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
       </head>
        <body>
            Ajax.Request DEMO
        </body>
        </html>

    此外QAjax.Updaterc还有另外一个功能,如果h的页面内容中包括JavaScriptQAjax.Updatercd以执行其中的脚本Q只需要在Ajax操作选项中增加属?evalScriptsQtrue"可以了Q把上述的例子进行修改后得到如下CZQ?br />         <!--客户端:(x)index.htm-->
        <html>
        <head>
        <meta http-equiv="content-type" content="text/html;charset=gb2312">
        <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
        <script language="javascript">
             function test(){
                  var myAjax = new Ajax.Updater( 
                             'myDiv',
                             'data.html',
                             {
                                    method:'get',
                                    evalScripts:true
                             }
                  );
             }  
        </script>
        </head>
        <body>
            <input type="button" value="click" onclick="test()" />
            <div id="myDiv" />
        </body>
        </html>

    <!--服务端:(x)data.html-->
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=gb2312">
        <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
        <script language="javascript" type="text/javascript">
             sayHi = function(){
                  alert("Heelo, " + $F('name') + "!");
             }
        </script>
    </head>
    <body>
        <input type="text" id="name" value="Ajax.Updater DEMO" />
        <input type="button" value="Click Me" Onclick="sayHi()" />
    </body>
    </html>

    如果我们把data.html中sayHi黑体的函数改成:(x)function sayHi{....}或者var sayHi = function(){....},E序不能正常运行.q是因ؓ(f)Ajax.Updater执行脚本是以eval的方式,而不是将脚本内容引入到当前页面,直接声明用var声明的sayHi函数的作用域只是在这D脚本内部,外部的其他脚本不能访问,按照sayHi黑体描述的其作用域是整个window.

    Ajax.PeriodUpdaterc?/strong>

        在一些Ajax应用?需要周期性地更新某些面元素,例如:天气预报,新闻{?实现q样的功能通常要用JavaScript中的定时器函?setTimeout, clearTimeout{? 而有了Ajax.PeriodUpdaterc?可以得到很大地简?
        新徏一个Ajax.PeriodUpdatercȝ实例需要指?个参?
        container: 要更新的页面元素id;
        url: h的URL地址;
        options: Ajax操作选项
        和Ajax.Updatercȝ|Ajax.PeriodUpdatercM支持动态执行JavaScript脚本Q只需要在Ajax操作选项中增?evalScripts : true)属性值就行.
        Ajax.PeriodUpdatercL持两个特D的Ajax操作选项Qfrequency和decayQfrequency参数很容易理解,是定时更新页面元素,或者定时执行脚本,frequency指的是两次Ajax操作之间的时间间隔,单位是秒Q默认值是Q?br />         如下代码是一个示例:(x)
        <!--客户端:(x)index.htm-->
        <html>
        <head>
            <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
            <script language="javascript">
                 function test(){
                  var myAjax = new Ajax.PeriodicalUpdater( 
                     'myDiv',
                     'data.html',
                     {
                            method:'get',
                            evalScripts:true,
                            frequency:1,
                            decay:2    
                     }
                   );
                 }
         </script>
        </head>
        <body>
            <input type="button" value="click" onclick="test()" />
            <div id='myDiv' />
        </body>
        </html>
        
        <!--服务端:(x)data.html-->
        <html>
        <head>
            <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
            <script language="javascript" type="text/javascript">
                count=9;//手动改变数字Q我们可以看到index.htm面myDiv元素的值同时在更新
                 $('myDiv1').innerHTML = "count = " + count + ": " + new Date() + "<br>";
        </script>
        </head>
        <body>
            <div id='myDiv1' />
        </body>
        </html>
        Ajax.Responders对象
        该类l护了一个正在运行的AJax对象列表Q在需要实C些全局功能时就可以使用它.例如Q在Ajaxh发出以后需要提C用h作正在执行中Q当操作以后取消提示Q如下所C:(x)
    <!--客户端:(x)index.htm-->
        <html>
        <head>
            <meta http-equiv="content-type" content="text/html;charset=gb2312">
            <script language="javascript" type="text/javascript" src="prototype1.6.js"></script>
            <script language="javascript">
                 function test(){
                      var myAjax = new Ajax.Request( 
                                 'data.html',
                                 {
                                        method:'get',
                                        onComplete:showResponse
                                 }
                      );
                 }  
                 function showResponse(response){
                         $('myDiv').innerHTML=response.responseText;
                  } 
                 var handle={
                         onCreate:function(){   
                                  Element.show('loading'); //创徏Ajaxh?昄loading
                         },
                         onComplete:function(){
                                  //当请求成功返回时,如果当前没有其他正在q行中的Ajaxh,隐藏loading
                                  if(Ajax.activeRequestCount == 0){
                                           Element.hide('loading'); 
                          }
                 }
      };
          //handle注册到全局的Ajax.Responders对象?使其生效
          Ajax.Responders.register(handle);
    </script>
    </head>
    <body>
        <input type="button" value="click" onclick="test()" />
        <div id="myDiv" />
        <div id="loading" style="display:none">
                <img src="loading.gif">Loading...
        </div>
    </body>
    </html>

     <!--服务端:(x)data.html-->
   
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=gb2312">
    </head>
    <body>
        Ajax.responders DEMO
    </body>
    </html>

     上述定义了一个handle 对象Q其中包含onCreate和onComplete函数Q页面中发出M一个Ajaxh旉?x)调用onCreateҎ(gu)Q而请求完成时都会(x)调用onCompleteҎ(gu).

剑秋 2008-08-28 13:08 发表评论
]]>
AJAX在IE7.0上失败的问题解决Ҏ(gu)http://www.aygfsteel.com/mycolby/articles/225194.html剑秋剑秋Thu, 28 Aug 2008 02:17:00 GMThttp://www.aygfsteel.com/mycolby/articles/225194.htmlhttp://www.aygfsteel.com/mycolby/comments/225194.htmlhttp://www.aygfsteel.com/mycolby/articles/225194.html#Feedback0http://www.aygfsteel.com/mycolby/comments/commentRss/225194.htmlhttp://www.aygfsteel.com/mycolby/services/trackbacks/225194.html
归根l底是在获得XMLHttpRequest对象的方式上变化?/span>
解决问题最单的办法是Q?
.点击“工具”->“Internet选项”->“高”Q在“安全”节点下找?#8220;启用本机XMLHTTP支持”Q该选项默认是钩选,用它后可以解决问题?


剑秋 2008-08-28 10:17 发表评论
]]>
AJAX 学习(fn)W记(?http://www.aygfsteel.com/mycolby/articles/225051.html剑秋剑秋Wed, 27 Aug 2008 07:18:00 GMThttp://www.aygfsteel.com/mycolby/articles/225051.htmlhttp://www.aygfsteel.com/mycolby/comments/225051.htmlhttp://www.aygfsteel.com/mycolby/articles/225051.html#Feedback0http://www.aygfsteel.com/mycolby/comments/commentRss/225051.htmlhttp://www.aygfsteel.com/mycolby/services/trackbacks/225051.html      AJAX的主框?
      览器端框架Q?/strong>
      一QPrototypepdQ?br />         1.PrototypeQ?a >http://prototype.conio.netQ如果在Web应用中实现对Ajax的支持或者需要扩展一些基本的功能QPrototype是个很好的选择Q?br />         2.script.aculo.usQ?a >http://script.aculo.usQ如果要在Web应用中实现更加在丰富的动态效果,提升用户体验Q可以考虑使用该框Ӟ
         3.RicoQ?a >http://openrico.orgQ该框架跟script.aculo.uscMQ?br />          4.Moo.fxQ?a >http://moofx.mad4milk.netQ是寸非常的javascriptcdQ也是基于prototype.Moo.fx提供了类似flash的物资和折叠菜单的功能;
         5.BehaviourQ?a >http://bennolan.com/behaviourQ是ZPtototype的CSS选择器,使用它可以大大地化页面的HTML的代码,可用CSS样式来给HTML元素d各种行ؓ(f)Q?nbsp;      二.AjaxsltQGoogle公司推出的一个JavaScript的XSLT实现Q用于在客户端解析XMLQ执行XSLT转换
                              http://goog-ajaxslt.sourceforge.net
       三.DojoQhttp://dojotoolkit.org
       四.YUIQ?a >http://developer.yahoo.com/yui/index.html  
       服务器端的框Ӟ(x)
       q里我只介绍JAVA的开发框Ӟ(x)
    QDWRQ是一个客L(fng)和服务器端的框架Q它专注于允许开发h员实C客户端JavaScript到J2EE Web容器内的普通的Java对象之间的远E调用.在服务器端,DWR通过一个Servlet和Java对象交互Qƈ且返回Java对象或者Java对象的XML文档.DWR安装使用方便Q和其他Java技术配合较好.如果惌一个整合性能良好Q同时支持客L(fng)和服务器的框Ӟ那就使用DWRQ?br />        DWRQ?a >http://dwr.dev.java.net



剑秋 2008-08-27 15:18 发表评论
]]>
AJAX学习(fn)W记(?http://www.aygfsteel.com/mycolby/articles/225040.html剑秋剑秋Wed, 27 Aug 2008 06:53:00 GMThttp://www.aygfsteel.com/mycolby/articles/225040.htmlhttp://www.aygfsteel.com/mycolby/comments/225040.htmlhttp://www.aygfsteel.com/mycolby/articles/225040.html#Feedback0http://www.aygfsteel.com/mycolby/comments/commentRss/225040.htmlhttp://www.aygfsteel.com/mycolby/services/trackbacks/225040.html        javascript面向对象~程实现:
            1.cȝ声明:
                function test1(){
                    this.p1 = "p1";
                    this.p2 = "p2";
                    this.f1 = function(){ alert("f1"); }
                    this.f2 = function(){ akert("f2"); }
                }
                上面的代码声明了两个公有的属性p1和p2,两个Ҏ(gu)f1和f2.
                如何xU有变量?
                function test1(){
                    var _test = "test";
                    this.p1 = "p1";
                    this.p2 = "p2";
                    this.f1 = function(){ alert("f1"); }
                    this.f2 = function(){ akert("f2"); }
                }
                上面的代码通过var关键字声明了一个局部变量_test,其作用域是test1cd义的内部,对外不公开.
                如何xcȝ静态变量和静态方法呢?
                test1.staticProp = "static var";
                test1.staticMethod = function(){
                    alert("static method");
                }
                q可以通过javascript中对象的prototype属性来xcȝ实例属性或Ҏ(gu):
                test1.prototype.prop2 = "prop2";
                test2.prototype.method2 = function(){
                    alert(" this.prop2");
                }
`               利用prototype属?可以实现另一U类的声明方?
                function test(){}
                test.prototype = {
                    p1 : "p1",
                    p2 : "p2",
                    f1 : function(){
                        alert("f1");
                    }
                  }
                
                如何实现cȝl承?通过复制父类的所有属性和Ҏ(gu)来实现子cȝl承:
                用for(....in ....)Ҏ(gu)来实现遍历父cL有的属性和Ҏ(gu)
                q里看看我如何让新声明的test1cȝ承testcȝ:
                function test1(){}//定义新声明的test1c?
                var p;                
                for(p in test.prototype){    //遍历父类的所有属性和Ҏ(gu)
                    test1.prototype[p] = test.prtotype[p];   //把父cȝ所有属性和Ҏ(gu)全部复制到新声明的子ctest1?br />                 }
                test1.prototype.newMethod = function(){//定义新声明的子类test1的新Ҏ(gu)
                    alert("new method");
                }
                其实prototype框架已经帮我们实Cq种l承,我们来看看它是如何实现的:
                Object.extend = function(destination, source){
                    for(property in source){
                        destination[property] = source[property];
                    }
                    return destination;
                 }
                Prototype框架为Object对象定义了extendҎ(gu),该方法有两个参数destination和source,分别对应于子cd父类,所以我们前面所讲的test1l承test可以化代码如?
                 function test1(){
                    test1.prototype = Object.extend({
                        newMethod : function(){
                            alert("new method");
                        }
                    },
                    test.prototype
                );
            
                如果我们改变一下上qC码中extendҎ(gu)中的两个参数的顺?
               function test1(){
                    test1.prototype = Object.extend(
                        test.prototype,
                        {
                        newMethod : function(){
                            alert("new method");
                        }
                    },
                );  
                   可以发现,对于test1子类来说效果是相同的..
                    但是,我们q一步会(x)发现,父类test拥有了子类test1的新增方?虽然q不是我们最初想要的l承效果,但是q种Ҏ(gu)却我们有了扩展对象属性或者方法的手段?不是?



剑秋 2008-08-27 14:53 发表评论
]]>
AJAX学习(fn)W记(一)http://www.aygfsteel.com/mycolby/articles/225016.html剑秋剑秋Wed, 27 Aug 2008 05:21:00 GMThttp://www.aygfsteel.com/mycolby/articles/225016.htmlhttp://www.aygfsteel.com/mycolby/comments/225016.htmlhttp://www.aygfsteel.com/mycolby/articles/225016.html#Feedback0http://www.aygfsteel.com/mycolby/comments/commentRss/225016.htmlhttp://www.aygfsteel.com/mycolby/services/trackbacks/225016.html     1QAJAX兼容IE和Firefox两大览器,出现了AJAX开发框Ӟ
     2QAJAX开发关键技术:(x)XMLHttpRequest对象QJavaScript~程技术,DOMQ文档对象模型)QCSSQ层叠样式表Q,和XSLTQ可扩展样式表{换)
           XMLHttpRequest对象是实现Ajax应用的核心;
           JavaScript是Ajax应用在客L(fng)使用的脚本语aQ?br />            通过JavaScript和DOM的配合才能实现页面的动态更斎ͼ
           CSS主要用于控制面元素的显C样式;
           XSLT可以XML文档转换ZQ何Ş式的文档Q在Ajax应用中用XSLT可以实现数据和页面显C的完全分离Q?br />      3QXMLHttpRequest对象Q?br />    3.1 发送请?br />                   使用XMLHttpRequest对象向服务器端发送请求的基本程可以分ؓ(f)Q步Q?br />                   3.1.1   从Web表单中获取需要的数据Q?br />                   3.1.2   建立要连接的URLQ?br />                   3.1.3   打开到服务器的连接;
                  3.1.4   讄服务器在完成后要q行的函敎ͼ
                  3.1.5   发送请求;
                  function callServer(){
                        //表单中获取必要的数据
                        var city = document.getElementById("city").value;
                        var state = document.getElementById("state").value;
                        //只有在数据不为空时才发出h
                        if((city == null) || (city == "")) return;
                        if((state == null) || (state == "")) return;
                        //h的URL
                        var url = "getZipCode.php?city=" + escape(city) + "&state=" + escape(state);
                        //联系服务器,打开q接
                        xmlHttp.open("GET",url,true);//"true"代表该请求是异步?br />                         //讄h完成时的响应函数,注意q里是请求完成时Qƈ不是响应完成?br />                         xmlHttp.onreadystatechange = updatePage;
                        //发送请?因ؓ(f)已经在请求URL中添加了要发送给服务器的数据(city和state)Q所以请求中 无需再发送其他数?
                        xmlHttp.send(null);
                    }

             3.2 Q处理HTTP响应
                        200Q一切正?nbsp; 
                        401Q未l授?br />                         403Q禁?br />                         404Q没扑ֈ
                        function updatePage(){
                            //readState == 4Q表C求成功完?br />                             if(xmlHttp.readyState == 4){
                                if(xmlHttp.status == 200){
                                    var response = xmlHttp.responseText;//HTTPhq回的文本内?br />                                     document.getElementById("zipCode").value = response;
                                }else if(request.status == 404){
                                        //HTTP状态码?04Q无法找到资?br />                                         alert("404 Not Found");
                                }else if(request.status == 403){
                                        //HTTP状态码?03Q资源不可用
                                        alert("403 Forbidden");
                                }else if(request.status == 401){
                                        //HTTP状态码?01Q未l授?br />                                         alert("401 Unauthorized");
                                }
                            }
                        }

              3.3QHTTPqA状?br />                        共有Q种qA状态:(x)
                        0Q请求未初始化(q没有调用XMLHttpRequest对象的openҎ(gu)Q?br />                         1Q请求已l徏立,但是q没有发送(q没有调用sendҎ(gu)Q?br />                         2Q请求已发送,正在处理?br />                         3Q请求在处理中。通常响应中已有部分数据可用了Q但是服务器q没有完成响应的生成 
                        4Q响应已完成Q可以获取ƈ且用服务器的响应了                        



剑秋 2008-08-27 13:21 发表评论
]]>
վ֩ģ壺 | | ɳƺ| | ͸| Ͱ| ƽ̶| | | ͼ| | | ӱ| | | | ͸| | | ԭ| | Ͷ| ϲ| | ֣| | ׶| ׳| | ƺ| | ͨ| | Ȩ| ³| ԭ| ɽ| | | | ־|