﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-苏广贤</title><link>http://www.phpweblog.net/susam119/</link><description>专注成就将来！</description><language>zh-cn</language><lastBuildDate>Tue, 16 Mar 2010 13:10:46 GMT</lastBuildDate><pubDate>Tue, 16 Mar 2010 13:10:46 GMT</pubDate><ttl>60</ttl><item><title>[转载]超强大的jquery formValidator</title><link>http://www.phpweblog.net/susam119/archive/2008/03/06/2911.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Thu, 06 Mar 2008 13:41:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2008/03/06/2911.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2911.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2008/03/06/2911.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2911.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2911.html</trackback:ping><description><![CDATA[<div class=postTitle><a class=postTitle2 id=AjaxHolder_ctl01_TitleUrl href="http://www.cnblogs.com/wzmaodong/archive/2008/01/11/1034901.html"><font color=#1a8bc8>jQuery formValidator表单验证插件开源了!!含API帮助、源码、示例</font></a> </div>
<p><font style="FONT-SIZE: 24pt" face=Verdana><br>升级记录<br><br><br><span style="FONT-SIZE: 10pt">2.0<br>这次又做了一次比较大的调整：增加了FunctionValidator这种校验方式，现在你可以调用外部函数了；调整了内部部分算法；<br>你打开下载压缩包里的index.html，将会看到全新的演示。<br>1、<font color=#ff0000><strong>增加FunctionValidator校验方式。</strong></font>作用：你可以用外部函数对表单元素进行校验和处理，返回true/false表示校验是否成功;返回字符串表示自定义错误信息，校验失败;如果没有返回值表示处理过程，校验成功。范例代码如下：<br>$("#sfzh").formValidator({onshow:"请输入15或18位的身份证",onfocus:"输入15或18位的身份证",oncorrect:"输入正确"}).FunctionValidator({fun:isCardID});<br>fun这个参数给你的函数传递了2个参数(该表单元素的值,表单元素element) 。具体情况，请看API帮助文档 <br>2、当你调用PageIsValid的时候，如果未校验通过，则<font color=#ff0000><strong>给onError传递2个参数</strong></font>(第一个校验没通过元素的错误信息,第一个校验没通过元素element)。范例代码如下：<br>$.formValidator.initConfig({onError:function(msg){alert(msg)}}); <br>3、AjaxValidator校验方式增加一个配置参数buttons（你点提交的按钮(组)jQuery对象）。作用：当你触发了ajax校验，buttons里对应的按钮（组）就会灰掉，一直等待服务器返回数据为止。范例代码如下：<br>$("#test1").formValidator({...}).InputValidator({...}).AjaxValidator({<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url : "Default.aspx",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datatype : "json",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success : function(data){...},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#ff0000>&nbsp;<strong>buttons: $("#button_id"),</strong></font><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error: function(){alert("服务器没有返回数据，可能服务器忙，请重试");},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onerror : "该用户名不可用，请更换用户名重新",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onwait : "正在对用户名进行合法性校验，请稍候..."<br>}); <br>4、由于<strong><font color=#ff0000>增加了自定义错误信息的功能</font></strong>，为了跟FunctionValidator校验方式里"fun"函数返回意义统一，<font color=#ff0000><strong>更改了formValidator里的onvalid参数返回的意义，给大家带来不便请谅解</strong></font>。返回true/false表示校验是否成功；返回字符串表示自定义错误信息，校验失败；如果没有返回值表示处理过程，校验成功。<br><br><br>1.3<br>由于工作忙，网友提了很多珍贵的意见，到现在才更新插件，真的对不住！这次修改了几处不合理的地方。<br><span style="COLOR: red">特别增加了DefaultPassed函数，并且调整了表单元素校验的顺序</span>。<br>1、增加DefaultPassed函数，作用：如果你的表单元素有默认值，而且是合法的，你可以通过这个，设置默认校验通过，示例代码如下：<br>&nbsp;&nbsp; $("#sex").formValidator({onshow:"请选择你的性别",onfocus:"没有第三种性别了，你选一个吧",oncorrect:"输入正确",defaultvalue:"1"}).InputValidator({min:1,max:1,onerror:"性别忘记选了,请确认"}).DefaultPassed();<br>2、修正了showalert模式下，只有值发生改变的时候才触发校验<br>3、修改了表单提交的时候，表单元素校验的顺序，现在按照表单元素的流顺序进行校验<br>4、<span style="COLOR: red">demo1里集成了datatimemask插件，具体应用，请见&#8220;出生日期&#8221;的代码</span><br>5、避免了插件与别的javascript类库的$符号的冲突<br>6、修改了api帮助文档<br></span><br><br></font>1.2.1<br>修复表单元素额外校验失败还会提交得bug,即formValidator里的onvalid属性<br><br>1.2.0&nbsp;&nbsp;&nbsp; <br>这个版本，内部函数做了比较大的调整，开放了更多的函数提供给大家使用，使插件灵活性更大<br>特别申明：请保留插件的版权申明，谢谢<br>1、修改插件文件名为:formValidator.js ； 对应的正则表达式的库也被命名为formValidatorRegex.js。<br>2、SelectValidator被合并到InputValidtor中去，请大家赶紧修改，语法兼容，只要替换名称即可。<br>3、因为InputValidtor合并了SelectValidator，所以API帮助里列举了InputValidtor各属性能起作用的各种表单类型<br>4、开放3个公共函数，这些函数跟你的配置相关：<br>&nbsp;&nbsp; SetFailState function("tipid","显示的信息")，在showword模式下，如果你的额外校验没有通过，你可以通过它来设置成失败信息和状态。<br>&nbsp;&nbsp; IsOneValid&nbsp;&nbsp; function("表单元素id")，主要来判断单个表单元素是否验证通过。<br>&nbsp;&nbsp; GetLength&nbsp;&nbsp;&nbsp; function("表单元素id")，判断表单元素的选择长度（个数）。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkbox或radiobutton表示(同组)选择的个数。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select表示选择的selectedIndex值。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其它的表示字符长度。<br>5、formValidator里的onvalid属性，增加了返回值，即插件校验成功后，你还可以额外校验。例子请参见demo1里的【额外校验】<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true表示这个表单元素校验成功<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false表示这个表单元素校验失败<br>&nbsp;&nbsp;错误信息，你可以通过SetFailState函数要写<br>6、修复在firefox下，长度验证出错的bug。发现jQuery1.2不支持这么写：$("#textarea").attr("type")<br><br><br>1.1.2<br>1、为AjaxValidator添加一个addidvalue属性(是否自动添加id和值到url参数后面)<br>为了修复AjaxValidator在配置信息的时候,取不到运行时候值的bug<br>插件将自动在url后面自动添加,形式为"id=value"的网页参数<br>在服务器端,你可以通过Request.querystring["id"]来取值<br>具体演示请看demo1里的用户名输入和Default.aspx<br><br><br>1.1.1版本<br>1、紧急修复AjaxValidator校验状态出错,以及显示状态的bug<br>2、调整了内部OneIsValid和formValidator函数的算法,使判断更加合理、有效<br><br>1.1 功能比较全的一个版本.<br>1、开放AjaxValidator表单验证,主要对$.ajax()的调用,具体演示请看demo1里的用户名输入和Default.aspx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用户名在服务器端的校验，我是用了随机数取模，但是每次运行返回要么都是偶数要么都是奇数（不知道什么问题）。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先是长度校验，再是格式校验，最后才是服务器端校验<br>2、修正AjaxValidator校验状态出错,以及显示状态的问题bug。<br>3、修正对AjaxValidator的api帮助。<br>4、修正内部几个函数的一些bug。<br>5、未了适应AjaxValidator，调整formValidator初始化的一部分功能。<br><br>1.0.3<br>1、把InputValidator的属性defaultvalue移到formValidator下。<br>目前defaultvalue属性只支持input和select两种tag<br>2、增加demo1里的范例内容，增加了性别的选择和默认值的设置（性别、学历、爱国、国家区号、你的描述）。<br>3、增加RegexValidator的一个属性：datatype，支持外置正则表达式的枚举类型，具体请见demo3.html<br>你可以额外包含这个js文件，定义一个数据类型,你可以自由的修改里面的名称和对应的值<br>var regexEnum = <br>{<br>&nbsp;intege:"^([+-]?)\\d+$"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//整数<br>}<br>如何调用范例：$("#zs").formValidator({onshow:"请输入整数",oncorrect:"谢谢你的合作，你的整数正确"}).RegexValidator({regexp:"intege",datatype:"enum",onerror:"整数格式不正确"});<br>4、修正自动纠错的一个bug<br>5、修正了api帮助文档<br><br><br>1.0.2版本<br>1、为formValidator增加tipid属性。<br>主要为了解决多个表单元素共用一个TIP的问题，提示错误的原则:后面的成功或失败信息都不覆盖前面的失败信息<br>针对这个属性，已经更新了demo1和源码，具体请看范例<br>2、修正了部分bug和api说明文档疏漏的地方<br><br><br>1.0.1版本<br>1、修改formValidator下的属性onvalid<br>增加2个参数，参数1：对象本身 参数2：值。主要是校验通过后，你还希望执行一些操作，你可以方便的取到对象和值<br>2、去掉InputValidator、SelectValidator、CompareValidator、RegexValidator、AjaxValidator下的onvalid属性<br>写文档的时候太过匆忙，所以属性加多了，帮助文档和源码都已经修正<br>3、为formValidator增加属性:automodify,默认值：false。<br>这个属性只要针对，如果你输入的是非法的，离开焦点的时候将自动恢复上次的值,并且先都有提示,showword模式的提示变成onshow状态<br>4、为formValidator增加onfocusevent和onblurevent<br>因为jQuery的事件注册是覆盖的，不是attachEvent追加的，所以再托管出这两个被插件霸占住的事件onfocus和onblur<br>onfocusevent:获得焦点的时候，处理系统自动处理的代码后，继续你希望再执行的代码<br>onblurevent:失去焦点的时候，处理系统自动处理的代码后，继续你希望再执行的代码<br>5、提交验证过程中，如果没有验证通过，则第一个出错的获得焦点<br>6、申明一点：RegexValidator采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'\' 被用作转义字符，所以在使用显示构造函数构造实例对象的时候，需要使用'\\' 代替'\' <br><br>1、插件应用效果图浏览<br><br>效果图1：<br><img style="WIDTH: 481px; HEIGHT: 451px" height=451 alt="" src="http://pic.whcsw.com/2008111/564165.gif" width=481 border=0><br><br><span style="FONT-SIZE: 10pt">效果2：<br><img alt="" src="http://pic.whcsw.com/2008111/595287.jpg" border=0><br></span><br><strong><br>2、jQuery pageValidator插件主要功能</strong> </p>
<p><font face=Verdana>1、2种错误提示模式：文字提示、窗口提示<br>2、呈现时的提示<br>3、可以为空，空时的提示<br>4、获得焦点提示<br>5、发生不同种错误，给出不同的提示<br>6、可以为空，不为空时要检验控制<br>7、长度控制、值比较<br>8、范围控制<br>9、2个对象比较控制<br>10、选择个数控制<br>11、Ajax读取数据<br>12、正则表达式控制<br>13、同个页面，你可以划分多个校验组，每个组的校验都是互不影响的<br>14、单个对象或者整个校验组验证完成、或者出错，有额外的回调函数提供<br><br></font></p>
<span style="FONT-SIZE: 24pt"><strong><br>
<p><font face=Verdana color=#000000 size=6><strong>3、jQuery pageValidator插件 API帮助文档</strong></font></p>
<br>
<table cellSpacing=0 cellPadding=2 width=610 border=0>
    <tbody>
        <tr vAlign=top>
            <td colSpan=4>
            <p><font face=Verdana>目前支持4种大的校验方式，分别是：InputValidator（针对input、textarea、select控件的字符长度、值范围、选择个数的控制）、CompareValidator（提供2个对象的比较，目前可以比较字符串和数值型）、AjaxValidator（通过ajax到服务器上做数据校验）、RegexValidator（提供可扩展的正则表达式库） 、FunctionValidator （提供可扩展函数库来做校验）<br><br>每种格式支持的控件类型如下：</font></p>
            <table cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td align=middle colSpan=5><font face=Verdana>input</font></td>
                        <td align=middle><font face=Verdana>textarea</font></td>
                        <td align=middle><font face=Verdana>select</font></td>
                    </tr>
                    <tr>
                        <td width=133><font face=Verdana>校验方式</font></td>
                        <td align=middle width=62><font face=Verdana>text</font></td>
                        <td align=middle width=72><font face=Verdana>radio</font></td>
                        <td align=middle width=67><font face=Verdana>checkbox</font></td>
                        <td align=middle width=77><font face=Verdana>file</font></td>
                        <td align=middle width=77><font face=Verdana>password</font></td>
                        <td align=middle width=75><font face=Verdana>textarea</font></td>
                        <td align=middle width=86><font face=Verdana>select-one</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>InputValidator</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>CompareValidator</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>AjaxValidator</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>RegexValidator</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>FunctionValidator</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                    </tr>
                </tbody>
            </table>
            <font face=Verdana>如果你用了不支持的校验功能，插件将忽略这个校验功能。 </font></td>
        </tr>
        <tr>
            <td colSpan=4><br><font face=Verdana><font color=#ff0000 size=2>插件目前提示错误，有两种模式：showword和showalert,即文字提示和窗口提示</font><font size=2>，下面的4大验证方式，针对<font color=#ff0000>showalert</font>这种方式不是都必须的，有些配置是没有作用的</font><br>下面分别罗列全局初始化和5种校验方式公开的属性<br></font></td>
        </tr>
        <tr>
            <td width=128><font face=Verdana>formValidator:</font></td>
            <td colSpan=3><font face=Verdana>用来做初始化的类型，必须先执行。（"&#8730;"为showalert可用参数）</font></td>
        </tr>
        <tr>
            <td colSpan=4>
            <table cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td width=84><font face=Verdana>属性</font></td>
                        <td width=140><font face=Verdana>属性名称</font></td>
                        <td width=100><font face=Verdana>默认值</font></td>
                        <td align=middle width=54><font face=Verdana>showalert</font></td>
                        <td width=230><font face=Verdana>详细解释</font></td>
                    </tr>
                    <tr>
                        <td width=84 height=22><font face=Verdana>validatorGroup</font></td>
                        <td width=77><font face=Verdana>校验组</font></td>
                        <td width=81><font face=Verdana>"1"</font></td>
                        <td width=54><font face=Verdana>&#8730;</font></td>
                        <td width=272><font face=Verdana>一个页面的控件可以分成多个组，分开校验</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>empty</font></td>
                        <td><font face=Verdana>是否可以为空</font></td>
                        <td><font face=Verdana>false</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>automodify</font></td>
                        <td><font face=Verdana>输入错误离开焦点的时候，自动修复错误</font></td>
                        <td><font face=Verdana>false</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>先给出提示然后，自动修复，目前只支持text、file、textarea三种类型</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>onempty</font></td>
                        <td><font face=Verdana>空时候的提示</font></td>
                        <td><font face=Verdana>"输入内容为空"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>可以为空，为空时候的提示</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>onshow</font></td>
                        <td><font face=Verdana>显示时候的提示</font></td>
                        <td><font face=Verdana>"请输入内容"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>onfocus</font></td>
                        <td><font face=Verdana>获得焦点的提示</font></td>
                        <td><font face=Verdana>"请输入内容"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>oncorrect</font></td>
                        <td><font face=Verdana>输入正确后的提示</font></td>
                        <td><font face=Verdana>"输入正确"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>当你焦点离开控件的时候，如果输入正确将出现该提示</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>onvalid</font></td>
                        <td><font face=Verdana>校验通过后的回调函数</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>参数1：对象本身 <br>参数2：值 <br>校验通过后，你还希望执行一些操作，你可以通过这个属性来执行。<br>返回值的意义：<br></font>
                        <table cellSpacing=0 cellPadding=0 width=200 border=1>
                            <tbody>
                                <tr>
                                    <td width=75><font face=Verdana>true/false</font></td>
                                    <td width=191><font face=Verdana>校验成功/失败</font></td>
                                </tr>
                                <tr>
                                    <td><font face=Verdana>字符串</font></td>
                                    <td><font face=Verdana>校验失败，返回值当作自定义错误</font></td>
                                </tr>
                                <tr>
                                    <td><font face=Verdana>无</font></td>
                                    <td><font face=Verdana>处理过程</font></td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>onfocusevent</font></td>
                        <td><font face=Verdana>获得焦点后要追加的回调函数</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>参数1：对象本身</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>onblurevent</font></td>
                        <td><font face=Verdana>失去焦点后要追加的回调函数</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>参数1：对象本身</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>tipid</font></td>
                        <td><font face=Verdana>显示错误的容器ID</font></td>
                        <td><font face=Verdana>表单ID+"Tip"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>defaultvalue</font></td>
                        <td><font face=Verdana>默认值</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>&#8730;</font></td>
                        <td><font face=Verdana>所有input和select表单。如果你不设置就保持原值，一旦设置就设为默认值。</font></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td><font face=Verdana>&nbsp;</font></td>
            <td width=166><font face=Verdana>&nbsp;</font></td>
            <td width=135><font face=Verdana>&nbsp;</font></td>
            <td width=100><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td><font face=Verdana>InputValidator：</font></td>
            <td colSpan=3><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td colSpan=4>
            <table cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td width=72><font face=Verdana>属性</font></td>
                        <td width=144><font face=Verdana>属性名称</font></td>
                        <td width=98><font face=Verdana>默认值</font></td>
                        <td width=451><font face=Verdana>详细解释</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>type</font></td>
                        <td><font face=Verdana>比较类型</font></td>
                        <td><font face=Verdana>"size"</font></td>
                        <td><font face=Verdana>(对select无效)"size":表示比较长度 "value":比较值。</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>min</font></td>
                        <td><font face=Verdana>最小长度/值</font></td>
                        <td><font face=Verdana>0</font></td>
                        <td><font face=Verdana>(对select无效)</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>max</font></td>
                        <td><font face=Verdana>最大长度/值</font></td>
                        <td><font face=Verdana>99999999999999</font></td>
                        <td><font face=Verdana>(对select无效)</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>onerror</font></td>
                        <td><font face=Verdana>发生错误的提示</font></td>
                        <td><font face=Verdana>"输入错误"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>defaultvalue</font></td>
                        <td><font face=Verdana>默认值</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>能满足预设默认值的需求</font></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td><font face=Verdana>CompareValidator：</font></td>
            <td colSpan=3><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td colSpan=4>
            <table cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td><font face=Verdana>属性</font></td>
                        <td><font face=Verdana>属性名称</font></td>
                        <td><font face=Verdana>默认值</font></td>
                        <td><font face=Verdana>详细解释</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>desID</font></td>
                        <td><font face=Verdana>要比较控件的ID</font></td>
                        <td><font face=Verdana>""</font></td>
                        <td><font face=Verdana>要跟源目标进行比较的目标ID</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>operateor</font></td>
                        <td><font face=Verdana>比较符号</font></td>
                        <td><font face=Verdana>"="</font></td>
                        <td><font face=Verdana>一共有如下几种类型:=、!=、&gt;、&gt;=、&lt;、&lt;=</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>datatype</font></td>
                        <td><font face=Verdana>数据类型</font></td>
                        <td><font face=Verdana>"string"</font></td>
                        <td><font face=Verdana>目前只支持2种:"string"、"number"</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>onerror</font></td>
                        <td><font face=Verdana>发生错误的提示</font></td>
                        <td><font face=Verdana>"输入错误"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td><font face=Verdana>RegexValidator:</font></td>
            <td colSpan=3><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td colSpan=4>
            <table height=0% cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td width=48 height="16%"><font face=Verdana>属性</font></td>
                        <td width=112><font face=Verdana>属性名称</font></td>
                        <td width=112><font face=Verdana>默认值</font></td>
                        <td width=300><font face=Verdana>详细解释</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td height="23%"><font face=Verdana color=#000000>regexp</font></td>
                        <td><font face=Verdana color=#000000>正则表达式</font></td>
                        <td><font face=Verdana color=#000000>""</font></td>
                        <td><font face=Verdana color=#ff0000>采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'\' 被用作转义字符，所以在使用显示构造函数构造实例对象的时候，需要使用'\\' 代替'\' </font></td>
                    </tr>
                    <tr>
                        <td vAlign=top height="30%"><font face=Verdana>param</font></td>
                        <td vAlign=top><font face=Verdana>附加参数</font></td>
                        <td vAlign=top><font face=Verdana>"i"</font></td>
                        <td vAlign=top><font face=Verdana>g：代表可以进行全局匹配。<br>i：代表不区分大小写匹配。<br>m：代表可以进行多行匹配。<br>可以任意组合,当然也可以不加参数 </font></td>
                    </tr>
                    <tr vAlign=top>
                        <td height="31%"><font face=Verdana>datatype</font></td>
                        <td><font face=Verdana>数据类型</font></td>
                        <td><font face=Verdana>"string"</font></td>
                        <td><font face=Verdana>"string":自己写的表达式，"enum":枚举名。具体请见demo3.htm，你可以自己修改附加pageValidatorRegex.js里的枚举项目名和表达式。</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td height="31%"><font face=Verdana>onerror:</font></td>
                        <td><font face=Verdana>发生错误的提示</font></td>
                        <td><font face=Verdana>"输入错误"</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
            <td><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td><font face=Verdana>AjaxValidator:</font></td>
            <td colSpan=3><font face=Verdana>几乎所有的属性跟$.ajax()的属性一样，请参考$.ajax()函数的帮助</font></td>
        </tr>
        <tr>
            <td colSpan=4>
            <table cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td width=66><font face=Verdana>属性</font></td>
                        <td width=208><font face=Verdana>属性名称</font></td>
                        <td width=95><font face=Verdana>默认值</font></td>
                        <td width=356><font face=Verdana>详细解释</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>type</font></td>
                        <td><font face=Verdana>请求的类型</font></td>
                        <td><font face=Verdana>"GET"</font></td>
                        <td><font face=Verdana>"POST" 或 "GET"</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>url</font></td>
                        <td><font face=Verdana>发送到的URL地址</font></td>
                        <td><font face=Verdana>""</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>datatype</font></td>
                        <td><font face=Verdana>返回的数据类型</font></td>
                        <td><font face=Verdana>"html"</font></td>
                        <td><font face=Verdana>xml、html、script、json</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>data</font></td>
                        <td><font face=Verdana>数据</font></td>
                        <td><font face=Verdana>""</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>async</font></td>
                        <td><font face=Verdana>是否以异步的方式发送</font></td>
                        <td><font face=Verdana>true</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>success</font></td>
                        <td><font face=Verdana>当请求成功时调用的函数</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td vAlign=top><font face=Verdana>processdata</font></td>
                        <td vAlign=top><font face=Verdana>自动处理返回的数据为字符串</font></td>
                        <td vAlign=top><font face=Verdana>true</font></td>
                        <td><font face=Verdana>在默认的情况下，如果data选项传进的数据是一个对象而不是字符串，将会自动地被处理和转换成一个查询字符串</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>complete</font></td>
                        <td><font face=Verdana>当请求完成时调用的函数</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr>
                        <td><font face=Verdana>beforesend</font></td>
                        <td><font face=Verdana>当请求前时调用的函数</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>&nbsp;</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>buttons</font></td>
                        <td><font face=Verdana>你点提交的按钮(组)jQuery对象</font></td>
                        <td><font face=Verdana>null</font></td>
                        <td><font face=Verdana>当你触发了ajax校验，buttons里对应的按钮（组）就会灰掉，一直等待服务器返回数据为止</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>error</font></td>
                        <td><font face=Verdana>当请求失败时调用的函数</font></td>
                        <td><font face=Verdana>"请求失败"</font></td>
                        <td><font face=Verdana>你可以自己定义这个错误，在error里自动打出</font></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td colSpan=4><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td colSpan=4><font face=Verdana>FunctionValidator</font></td>
        </tr>
        <tr>
            <td colSpan=4>
            <table cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td width=54><font face=Verdana>属性</font></td>
                        <td width=109><font face=Verdana>属性名称</font></td>
                        <td width=128><font face=Verdana>默认值</font></td>
                        <td width=283><font face=Verdana>返回值的解释</font></td>
                    </tr>
                    <tr vAlign=top>
                        <td><font face=Verdana>fun</font></td>
                        <td><font face=Verdana>外部函数名</font></td>
                        <td><font face=Verdana>默认当作处理过程</font></td>
                        <td>
                        <table cellSpacing=0 cellPadding=0 width=260 border=1>
                            <tbody>
                                <tr>
                                    <td width=75><font face=Verdana>true/false</font></td>
                                    <td width=191><font face=Verdana>校验成功/失败</font></td>
                                </tr>
                                <tr>
                                    <td><font face=Verdana>字符串</font></td>
                                    <td><font face=Verdana>校验失败，返回值当作自定义错误</font></td>
                                </tr>
                                <tr>
                                    <td><font face=Verdana>无</font></td>
                                    <td><font face=Verdana>处理过程</font></td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td><font face=Verdana>&nbsp;</font></td>
            <td colSpan=3><font face=Verdana>&nbsp;</font></td>
        </tr>
        <tr>
            <td><font face=Verdana>公共函数:</font></td>
            <td colSpan=3><font face=Verdana>主要是设置全局参数和判断是否通过校验</font></td>
        </tr>
        <tr>
            <td colSpan=4>
            <table cellSpacing=0 cellPadding=2 width=600 border=1>
                <tbody>
                    <tr>
                        <td width=180><font face=Verdana>函数名</font></td>
                        <td width=600><font face=Verdana>函数说明</font></td>
                    </tr>
                    <tr>
                        <td vAlign=top><font face=Verdana>$.formValidator.initConfig</font></td>
                        <td><font face=Verdana>参数：配置类型 </font>
                        <table cellSpacing=0 cellPadding=2 width=400 border=1>
                            <tbody>
                                <tr>
                                    <td width=97><font face=Verdana>属性</font></td>
                                    <td width=60><font face=Verdana>默认值</font></td>
                                    <td width=362><font face=Verdana>说明</font></td>
                                </tr>
                                <tr>
                                    <td><font face=Verdana>validatorGroup</font></td>
                                    <td><font face=Verdana>"1"</font></td>
                                    <td><font face=Verdana>你要针对哪个组进行配置</font></td>
                                </tr>
                                <tr>
                                    <td><font face=Verdana>alertMessage</font></td>
                                    <td><font face=Verdana>false</font></td>
                                    <td><font face=Verdana>是否弹出窗口</font></td>
                                </tr>
                                <tr>
                                    <td vAlign=top><font face=Verdana>onSuccess</font></td>
                                    <td vAlign=top><font face=Verdana>null</font></td>
                                    <td><font face=Verdana>该组校验通过后的回调函数,返回false，阻止表单的提交</font></td>
                                </tr>
                                <tr>
                                    <td><font face=Verdana>submitOnce</font></td>
                                    <td><font face=Verdana>false</font></td>
                                    <td><font face=Verdana>校验通过后，是否灰掉所有的提交按钮</font></td>
                                </tr>
                                <tr vAlign=top>
                                    <td><font face=Verdana>onError</font></td>
                                    <td><font face=Verdana>null</font></td>
                                    <td><font face=Verdana>该组校验失败后的回调函数， 有两个参数 <br></font>
                                    <table cellSpacing=0 cellPadding=0 width=249 border=1>
                                        <tbody>
                                            <tr>
                                                <td width=46><font face=Verdana>第一个</font></td>
                                                <td width=197><font face=Verdana>一个校验没有通过的错误信息</font></td>
                                            </tr>
                                            <tr>
                                                <td><font face=Verdana>第二个</font></td>
                                                <td><font face=Verdana>一个校验没有通过的元素对象</font></td>
                                            </tr>
                                        </tbody>
                                    </table>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr>
                        <td vAlign=top><font face=Verdana>$.formValidator.PageIsValid</font></td>
                        <td><font face=Verdana>一个参数： 不是配置类型 </font>
                        <table cellSpacing=0 cellPadding=2 width=400 border=1>
                            <tbody>
                                <tr>
                                    <td width=97><font face=Verdana>validatorGroup</font></td>
                                    <td width=60><font face=Verdana>"1"</font></td>
                                    <td width=362><font face=Verdana>你要针对哪个组进行验证</font></td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr>
                        <td vAlign=top><font face=Verdana>$.formValidator.IsOneValid</font></td>
                        <td><font face=Verdana>一个参数： 当时设置验证的表单元素ID。<br>返回是否校验成功的信息。 </font></td>
                    </tr>
                    <tr>
                        <td vAlign=top><font face=Verdana>$.formValidator.SetFailState</font></td>
                        <td><font face=Verdana>function("tipid","显示的信息")<br>在showword模式下，如果你的额外校验没有通过，你可以通过它来设置成失败信息和状态 </font></td>
                    </tr>
                    <tr>
                        <td vAlign=top><font face=Verdana>$.formValidator.GetLength</font></td>
                        <td><font face=Verdana>function("表单元素id")<br>判断表单元素的选择长度(个数)<br>checkbox或radiobutton表示选择的个数。<br>select表示选择的selectedIndex值。<br>其它的表示字符长度。 </font></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br><br><font face=Verdana>4、下载API帮助、源码、示例</font></strong></span><br><br><font face=Verdana size=2>下载 </font><a title="jQuery pageValidator插件" href="http://www.cnblogs.com/Files/wzmaodong/formValidator2.0.rar"><font face=Verdana color=#1a8bc8 size=2>http://www.cnblogs.com/Files/wzmaodong/formValidator2.0.rar</font></a><br><br><span style="FONT-SIZE: 24pt"><strong><br><br><font face=Verdana>5、示例代码<br></font></strong></span><br><font face=Verdana><font size=2>&lt;script type="text/javascript"&gt;<br>$(document).ready(function(){<br>&nbsp;$.formValidator.initConfig({onError:function(){alert("校验没有通过，具体错误请看错误提示")}});<br>&nbsp;$("#test1").formValidator({onshow:"请输入用户名",onfocus:"用户名至少6个字符,最多10个字符",oncorrect:"恭喜你,你输对了"}).InputValidator({min:6,max:10,onerror:"你输入的用户名非法,请确认"});<br>&nbsp;$("#test2").formValidator({onshow:"请选择你的兴趣爱好(至少选择3个,最多选择5个)",onfocus:"你至少选择3个,最多选择5个",oncorrect:"恭喜你,你选对了"}).InputValidator({min:3,max:5,onerror:"你选的个数不对(至少选择3个,最多选择5个)"});<br>&nbsp;$("#test3").formValidator({onshow:"请选择你的兴趣爱好（至少选一个）",onfocus:"你至少选择1个",oncorrect:"恭喜你,你选对了"}).InputValidator({min:1,onerror:"你选的个数不对"});<br>&nbsp;$("#xueli").formValidator({onshow:"请选择你的学历",onfocus:"学历必须选择",oncorrect:"谢谢你的配合"}).SelectValidator({onerror: "你是不是忘记选择学历了!"});<br>&nbsp;$("#password1").formValidator({onshow:"请输入密码",onfocus:"两次密码必须一致哦",oncorrect:"密码一致"}).InputValidator({min:1,onerror:"密码不能为空,请确认"}).CompareValidator({desID:"password2",operateor:"=",onerror:"2次密码不一致,请确认"});<br>&nbsp;$("#nl").formValidator({onshow:"请输入的年龄（1-99岁之间）",onfocus:"只能输入1-99之间的数字哦",oncorrect:"恭喜你,你输对了"}).InputValidator({min:1,max:99,type:"value",onerror:"年龄必须在1-99之间，请确认"});<br>&nbsp;$("#aiguo").formValidator({onshow:"爱国的人一定要选哦",onfocus:"你得认真思考哦",oncorrect:"不知道你爱不爱，反正你是选了"}).InputValidator({min:1,max:1,onerror:"难道你不爱国？你给我选！！！！"});<br>&nbsp;$("#shouji").formValidator({empty:true,onshow:"请输入你的手机号码，可以为空哦",onfocus:"你要是输入了，必须输入正确",oncorrect:"谢谢你的合作",onempty:"你真的不想留手机号码啊？"}).InputValidator({min:11,max:11,onerror:"手机号码必须是11位的,请确认"}).RegexValidator({regexp:"^[1][0-9]{10}$",onerror:"你输入的手机格式不正确"});<br>&nbsp;$("#lxdh").formValidator({empty:true,onshow:"请输入你的联系电话，可以为空哦",onfocus:"你要是输入了，必须输入正确，格式例如：0577-88069620",oncorrect:"谢谢你的合作",onempty:"你真的不想留联系电话了吗？"}).RegexValidator({regexp:"^[[0-9]{3}-|\[0-9]{4}-]?(\[0-9]{8}|[0-9]{7})?$",onerror:"你输入的联系电话格式不正确"});<br>&nbsp;$("#ms").formValidator({onshow:"请输入你的描述",onfocus:"描述至少要输入10个汉字或20个字符",oncorrect:"恭喜你,你输对了"}).InputValidator({min:20,onerror:"你输入的描述长度不正确,请确认"});<br>});<br>&lt;/script&gt;<br><br><br></font><strong style="FONT-SIZE: 24pt">6、特别说明</strong><br><br><font size=2>如果你在使用过程中碰到什么问题请给我留言，发现bug请不要自行修改，也请留言，达到完善插件的目的，真正服务每个程序开发人员</font></font><font face=Verdana><font size=2> .<br></font><strong style="FONT-SIZE: 14pt; COLOR: red">请保留插件的版权申明，谢谢</strong><font size=2> <br>引用地址：<a href="http://www.cnblogs.com/wzmaodong/archive/2008/02/04/1034901.html">http://www.cnblogs.com/wzmaodong/archive/2008/02/04/1034901.html</a><br><br>在博客园看到非常强大好用，强烈推荐！！！</font></font> 
<img src ="http://www.phpweblog.net/susam119/aggbug/2911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2008-03-06 21:41 <a href="http://www.phpweblog.net/susam119/archive/2008/03/06/2911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>30分钟搞定jQuery</title><link>http://www.phpweblog.net/susam119/archive/2008/03/05/2896.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Wed, 05 Mar 2008 01:20:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2008/03/05/2896.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2896.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2008/03/05/2896.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2896.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2896.html</trackback:ping><description><![CDATA[<embed pluginspage=http://www.macromedia.com/go/getflashplayer src=http://static.slideshare.net/swf/ssplayer2.swf?doc=learning-jquery-in-30-minutes-1195942580702664-3 width=425 height=348 type=application/x-shockwave-flash allownetworking="internal" allowscriptaccess="never" wmode="opaque"><br><strong>内容：</strong>
    <ol style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 25px; PADDING-TOP: 0px">
        <li>jQuery特点
        <li>CSS选择器用法
        <li>jQuery集合
        <li>jQuery集合操作
        <li>获取匹配元素的值
        <li>DOM元素遍历
        <li>事件处理
        <li>安静加载运行
        <li>对象链串访问
        <li>疯狂链串(Crazy Chaining)
        <li>Ajax用法
        <li>推荐了几个插件 </li>
    </ol>
    <p>&nbsp;学习jquery的看看吧。</p>
<img src ="http://www.phpweblog.net/susam119/aggbug/2896.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2008-03-05 09:20 <a href="http://www.phpweblog.net/susam119/archive/2008/03/05/2896.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]一个无限分类处理类</title><link>http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Wed, 19 Dec 2007 09:22:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2573.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2573.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2573.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">PHP代码</span><span style="COLOR: #000000">:--------------------------------------------------------------------------------</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;名称:&nbsp;对分类操作的业务逻辑封装&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;说明:&nbsp;本类中引用的其它类（DB、Table、Item)均未提供，所以本类只能做个参考，不能直接应用&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;不是本人小气不提供其它类，实在是因为那些都是一两年前写的类，很烂。怕大家看后对大&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;造成误导.&nbsp;在此发表这个类，只希望大家能从中学到一些程序设计的方法。&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;特点：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;采用递归调用的方法，对分类数据只需一次数据库查询可生成树状结构。&nbsp;无限递归层次(视机器堆栈而定)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;数据库定义：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;ID&nbsp;smallint&nbsp;unsigned&nbsp;primary&nbsp;#如果数据量很大可用int&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;ParentID&nbsp;smallint&nbsp;unsigned&nbsp;index&nbsp;#如果数据量很大可用int,&nbsp;请索引此字段&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;#如果为根分类，则ParentID&nbsp;=&nbsp;0&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;RootID&nbsp;smallint&nbsp;unsigned&nbsp;index&nbsp;#如果数据量很大可用int,&nbsp;请索引此字段&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;#如果是根分类则RootID&nbsp;=&nbsp;0,&nbsp;否则RootID&nbsp;=&nbsp;最上层的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;CategoryName&nbsp;varchar(n)&nbsp;#此大小自定&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;如需有其它字段定义附在后面&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;注意事项：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;不要试图直接调用本类，除非你有和我定义那另外那几个类相对应的接口,&nbsp;否则不会成功&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;在合适的地方定义&nbsp;DBTABLE_CATEGORY&nbsp;这个常量&nbsp;190-711&nbsp;190-721&nbsp;&nbsp;，使其指向你的分类数据表名字&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;程序构架：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;├─基础类&nbsp;&lt;!--&nbsp;完成底层数据库操作、数据抽象、语言、模板、异常、杂项等)操作&nbsp;--&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;└─业务逻辑层（此类所处层次）&nbsp;&lt;!--&nbsp;利用基础类中数据操作、数据抽象等类根据表现层传递的参数完成数据处理，并返回数据或操作结果&nbsp;--&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;└───表现层（用户界面）&nbsp;&lt;!--&nbsp;利用业务逻辑层将取得的数据或操作数据的结果通过基础类中的界面等类进行显示&nbsp;--&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008080">define</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">DBTABLE_CATEGORY</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">xxx</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Category_Logic&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$KernelRef</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">系统核心的引用&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$tblObj</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">包含当前分类数据&nbsp;Table&nbsp;类的实例&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$_CurrentItem</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">包含当前分类数据&nbsp;TItem类的实例&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当前分类ID，如果没有当前分类此项为&nbsp;0&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//private&nbsp;array&nbsp;GetNodeData(array&nbsp;$Data,&nbsp;int&nbsp;$ParentNode)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;根据一颗指定根的并且以兄弟双亲法表示的树和当前分类的ID，返回当前分类在整个分类表中所处的位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;2维数组&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ID'&nbsp;=&gt;&nbsp;分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ParentID'&nbsp;=&gt;&nbsp;父分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'RootID'&nbsp;=&gt;&nbsp;根分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'CategoryName'&nbsp;=&gt;&nbsp;分类名称,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;),&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;&#8230;&#8230;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;表示的一颗树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ParentNode&nbsp;父分类ID，&nbsp;每一次由调用者给出，递归时由程序计算传递&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回以兄弟双亲法表示的所有分类的树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：&nbsp;确保当前分类已经设置，否则此函数无返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetNodeData(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ParentNode</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">();&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$ArrayCount</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ParentNode</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$ArrayCount</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$ArrayCount</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetNodeData(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//private&nbsp;String&nbsp;_CurrentLevel(array&nbsp;$Data,&nbsp;int&nbsp;$Current,&nbsp;String&nbsp;$ProcessFunc&nbsp;=&nbsp;'')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;根据一颗指定根的并且以兄弟双亲法表示的树和当前分类的ID，返回当前分类在整个分类表中所处的位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;兄弟双亲法表示的树,&nbsp;由调用者传递&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Current&nbsp;当前分类ID，第一次调用时由调用者给出，递归时由程序自行计算&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;指定对分类数据的处理函数,&nbsp;函数原型定义见&nbsp;$this-&gt;PrintCurrentLevel&nbsp;中的注释&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类在分类树中的位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：&nbsp;确保当前分类已经设置，否则此函数无返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;_CurrentLevel(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_CurrentLevel(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;-&amp;gt;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">]);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">]);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;Category_Logic(Object&nbsp;&amp;$Kernel,&nbsp;int&nbsp;$CategoryID&nbsp;=&nbsp;-1)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;本类构造函数&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Kernel&nbsp;此参数为当前系统核心类的一个引用，&nbsp;核心类中包括&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;数据库类、输入输出类、系统配置类等&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$CategoryID&nbsp;当前分类ID。&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;当想调用&nbsp;PrintCurrentLevel、GetRootID、GetParentID、GenerateTypeTreeList及&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;调用_CurrentItem成员的方法时请先设置此值.&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;调用GenerateTypeTreeList时设置此值，则没有ID为此的分类默认被选择，没设置则无默认&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;none&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">Category_Logic(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$Kernel</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">KernelRef&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$Kernel</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Table(</span><span style="COLOR: #800080">$Kernel</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">DBObj</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;DBTABLE_CATEGORY);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCategoryID(</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;void&nbsp;SetCategoryID(int&nbsp;$CategoryID)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;设置当前分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;none&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;SetCategoryID(</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Item</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;TItem(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">KernelRef</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">DBObj</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;DBTABLE_CATEGORY</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$Item</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;int&nbsp;GetRootID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回当前分类的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：只有设置的当前分类时此函数才有效&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetRootID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;int&nbsp;GetParentID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回当前分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：只有设置的当前分类时此函数才有效&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetParentID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;GenerateTypeTreeList(array&nbsp;$Data,&nbsp;String&nbsp;$ProcessFunc,&nbsp;int&nbsp;$floor&nbsp;=&nbsp;0)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回整个分类的树状结构放在OptionList中的列表&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;此参数由&nbsp;$this-&gt;DumpTypeDataToTree()&nbsp;返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;处理显示分类信息的回调函数,&nbsp;函数原型请参照：&nbsp;$this-&gt;PrintCurrentLevel()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$floor&nbsp;本参数不能人为给出，是程序自动计算的中间值&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;结构为一颗兄弟双亲表示法表示的树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;设如分类数据如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├──1级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;└─3级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;└─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;则返回值为&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;0&nbsp;=&gt;&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ID'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ParentID'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'RootID'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'CategoryName'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'Child'&nbsp;=&gt;&nbsp;<img src="http://www.phpweblog.net/Images/dot.gif">.&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<img src="http://www.phpweblog.net/Images/dot.gif">..&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;DumpTypeDataToTree(</span><span style="COLOR: #800080">$RootID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Fields</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(</span><span style="COLOR: #800080">$Fields</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$List</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapResult(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetNodeData(</span><span style="COLOR: #800080">$List</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$RootID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;GenerateTypeTreeList(array&nbsp;$Data,&nbsp;String&nbsp;$ProcessFunc&nbsp;=&nbsp;'',&nbsp;int&nbsp;$floor&nbsp;=&nbsp;0)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回整个分类的树状结构放在OptionList中的列表&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;此参数由&nbsp;$this-&gt;DumpTypeDataToTree()&nbsp;返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;处理显示分类信息的回调函数,&nbsp;函数原型请参照：&nbsp;$this-&gt;PrintCurrentLevel()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$floor&nbsp;本参数不能人为给出，是程序自动计算的中间值&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回一个&lt;option&gt;分类名称1&lt;/option&gt;&nbsp;<img src="http://www.phpweblog.net/Images/dot.gif">&nbsp;&lt;option&gt;分类名称n&lt;/option&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;ps:&nbsp;调用时echo&nbsp;"&lt;select&nbsp;name='xxxx'&gt;"&nbsp;.&nbsp;$_c-&gt;GenerateTypeTreeList($Data,&nbsp;'ProcessFunc')&nbsp;.&nbsp;"&lt;/select&gt;";&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GenerateTypeTreeList(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;option&nbsp;value='{$Data[$i]['ID']}'&nbsp;selected&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">str_repeat</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&amp;nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">├</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/option&gt;\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;option&nbsp;value='{$Data[$i]['ID']}'&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">str_repeat</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&amp;nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">├</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/option&gt;\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GenerateTypeTreeList(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;GenerateTypeTreeView(array&nbsp;$Data,&nbsp;String&nbsp;$ProcessFunc&nbsp;=&nbsp;'')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回整个分类的树状结构视图&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;此参数由&nbsp;$this-&gt;DumpTypeDataToTree()&nbsp;返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;处理显示分类信息的回调函数,&nbsp;函数原型请参照：&nbsp;$this-&gt;PrintCurrentLevel()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回生成的一颗HTML形式显示的树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GenerateTypeTreeView(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;ul&nbsp;style="Line-Height:200%"&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GenerateTypeTreeView(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/ul&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;PrintCurrentLevel(String&nbsp;$ProcessFunc&nbsp;=&nbsp;'')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;对多级分类生成当前位置字符串&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;设如分类数据如下，当前分类为3级分类,&nbsp;则调用返回&nbsp;1级分类&nbsp;-&gt;&nbsp;2级分类&nbsp;-&gt;&nbsp;3级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├──1级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;└─3级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;└─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;此为对分类数据如何显示的回调函数，不设置则直接显示分类名称&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;函数定义原型为&nbsp;function&nbsp;(&amp;$arr);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;其中$arr参数为每一个分类信息的一维数组如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;array(ID&nbsp;=&gt;&nbsp;1,&nbsp;ParentID&nbsp;=&gt;&nbsp;0,&nbsp;RootID&nbsp;=&gt;&nbsp;0,&nbsp;CategoryName&nbsp;=&gt;&nbsp;'1级分类')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回值为对上述数据处理的结果，比如返回带链接的分类名字、更改显示颜色等&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类在整个分类树中所处位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;PrintCurrentLevel(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">fetchDataToArray());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;or&nbsp;ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">));&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapResult(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_CurrentLevel(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;boolean&nbsp;Add(array&nbsp;$arr)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;添加新分类到分类表中&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$arr&nbsp;在此数组中包括对新添加分类的定义,&nbsp;定义如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['RootID']&nbsp;新分类所属的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['ParentID']&nbsp;新分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['CategoryName']&nbsp;新分类的名称&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回添加分类操作结果&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;Add(</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Insert(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;boolean&nbsp;Delete(int&nbsp;$ID)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;删除已经存在的分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ID&nbsp;要删除的分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回删除分类操作结果&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;Delete(</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$sysOption</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">KernelRef</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Config;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(int)</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Delete();&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;boolean&nbsp;Modify(int&nbsp;$ID,&nbsp;array&nbsp;$arr)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;修改已经存在的分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ID&nbsp;要修改的分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$arr&nbsp;在此数组中包括修改后的分类定义,&nbsp;定义如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['RootID']&nbsp;新分类所属的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['ParentID']&nbsp;新分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['CategoryName']&nbsp;新分类的名称&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回修改分类操作结果&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;Modify(</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(int)</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$prev</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapOneRow(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Update(</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;array&nbsp;Modify(int&nbsp;$ID)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;修改已经存在的分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ID&nbsp;指定的分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回指定ID分类的信息&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;数组中包括：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ID'&nbsp;=&gt;&nbsp;分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ParentID'&nbsp;=&gt;&nbsp;父分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'RootID'&nbsp;=&gt;&nbsp;根分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'CategoryName'&nbsp;=&gt;&nbsp;分类名称,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetCategory(</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(int)</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapOneRow(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">?&gt;</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.phpweblog.net/susam119/aggbug/2573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-19 17:22 <a href="http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Ext2+Fleaphp所开发的Crm系统登陆代码</title><link>http://www.phpweblog.net/susam119/archive/2007/12/15/2543.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Sat, 15 Dec 2007 14:27:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/15/2543.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2543.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/15/2543.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2543.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2543.html</trackback:ping><description><![CDATA[先把登陆方面的放上来供大家参考，本人用Ext也不是很久，希望大家多多指点,代码写得不够精简，呵。<br>以下是Ext代码<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_22_2592_Open_Image onclick="this.style.display='none'; Codehighlighter1_22_2592_Open_Text.style.display='none'; Codehighlighter1_22_2592_Closed_Image.style.display='inline'; Codehighlighter1_22_2592_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_22_2592_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_22_2592_Closed_Text.style.display='none'; Codehighlighter1_22_2592_Open_Image.style.display='inline'; Codehighlighter1_22_2592_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">Ext.onReady(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_22_2592_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_22_2592_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ext.BLANK_IMAGE_URL</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'..</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">Libs</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">Js</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">resources</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">images</span><span style="COLOR: #000000">/</span><span style="COLOR: #0000ff">default</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">s.gif';<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_124_223_Open_Image onclick="this.style.display='none'; Codehighlighter1_124_223_Open_Text.style.display='none'; Codehighlighter1_124_223_Closed_Image.style.display='inline'; Codehighlighter1_124_223_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_124_223_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_124_223_Closed_Text.style.display='none'; Codehighlighter1_124_223_Open_Image.style.display='inline'; Codehighlighter1_124_223_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTimeout(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_124_223_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_124_223_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ext.get('loading').remove();<br><img id=Codehighlighter1_203_215_Open_Image onclick="this.style.display='none'; Codehighlighter1_203_215_Open_Text.style.display='none'; Codehighlighter1_203_215_Closed_Image.style.display='inline'; Codehighlighter1_203_215_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_203_215_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_203_215_Closed_Text.style.display='none'; Codehighlighter1_203_215_Open_Image.style.display='inline'; Codehighlighter1_203_215_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ext.get('loading</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">mask').fadeOut(</span><span id=Codehighlighter1_203_215_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_203_215_Open_Text><span style="COLOR: #000000">{remove:</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">250</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Ext.QuickTips.init();<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Ext.form.Field.prototype.msgTarget</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'side';<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_340_2562_Open_Image onclick="this.style.display='none'; Codehighlighter1_340_2562_Open_Text.style.display='none'; Codehighlighter1_340_2562_Closed_Image.style.display='inline'; Codehighlighter1_340_2562_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_340_2562_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_340_2562_Closed_Text.style.display='none'; Codehighlighter1_340_2562_Open_Image.style.display='inline'; Codehighlighter1_340_2562_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;lfm&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Ext.FormPanel(</span><span id=Codehighlighter1_340_2562_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_340_2562_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labelAlign:'left',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labelWidth:</span><span style="COLOR: #000000">80</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame:</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buttonAlign:'left',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title:&nbsp;'润际科技CRM管理系统',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bodyStyle:'padding:5px;',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:</span><span style="COLOR: #000000">400</span><span style="COLOR: #000000">,<br><img id=Codehighlighter1_533_813_Open_Image onclick="this.style.display='none'; Codehighlighter1_533_813_Open_Text.style.display='none'; Codehighlighter1_533_813_Closed_Image.style.display='inline'; Codehighlighter1_533_813_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_533_813_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_533_813_Closed_Text.style.display='none'; Codehighlighter1_533_813_Open_Image.style.display='inline'; Codehighlighter1_533_813_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items:&nbsp;[</span><span id=Codehighlighter1_533_813_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_533_813_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;layout:'form',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labelSeparator:'：',<br><img id=Codehighlighter1_627_798_Open_Image onclick="this.style.display='none'; Codehighlighter1_627_798_Open_Text.style.display='none'; Codehighlighter1_627_798_Closed_Image.style.display='inline'; Codehighlighter1_627_798_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_627_798_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_627_798_Closed_Text.style.display='none'; Codehighlighter1_627_798_Open_Image.style.display='inline'; Codehighlighter1_627_798_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items:[</span><span id=Codehighlighter1_627_798_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_627_798_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xtype:'textfield',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fieldLabel:'帐号',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;'username',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allowBlank:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anchor:'</span><span style="COLOR: #000000">70</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">'<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">]<br><img id=Codehighlighter1_815_1133_Open_Image onclick="this.style.display='none'; Codehighlighter1_815_1133_Open_Text.style.display='none'; Codehighlighter1_815_1133_Closed_Image.style.display='inline'; Codehighlighter1_815_1133_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_815_1133_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_815_1133_Closed_Text.style.display='none'; Codehighlighter1_815_1133_Open_Image.style.display='inline'; Codehighlighter1_815_1133_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,</span><span id=Codehighlighter1_815_1133_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_815_1133_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;layout:'form',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labelSeparator:'：',<br><img id=Codehighlighter1_909_1118_Open_Image onclick="this.style.display='none'; Codehighlighter1_909_1118_Open_Text.style.display='none'; Codehighlighter1_909_1118_Closed_Image.style.display='inline'; Codehighlighter1_909_1118_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_909_1118_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_909_1118_Closed_Text.style.display='none'; Codehighlighter1_909_1118_Open_Image.style.display='inline'; Codehighlighter1_909_1118_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items:[</span><span id=Codehighlighter1_909_1118_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_909_1118_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xtype:'textfield',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fieldLabel:'密码',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;'password',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inputType:'password',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anchor:'</span><span style="COLOR: #000000">70</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allowBlank:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">]<br><img id=Codehighlighter1_1135_1808_Open_Image onclick="this.style.display='none'; Codehighlighter1_1135_1808_Open_Text.style.display='none'; Codehighlighter1_1135_1808_Closed_Image.style.display='inline'; Codehighlighter1_1135_1808_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1135_1808_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1135_1808_Closed_Text.style.display='none'; Codehighlighter1_1135_1808_Open_Image.style.display='inline'; Codehighlighter1_1135_1808_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,</span><span id=Codehighlighter1_1135_1808_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1135_1808_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;layout:'column',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,<br><img id=Codehighlighter1_1202_1536_Open_Image onclick="this.style.display='none'; Codehighlighter1_1202_1536_Open_Text.style.display='none'; Codehighlighter1_1202_1536_Closed_Image.style.display='inline'; Codehighlighter1_1202_1536_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1202_1536_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1202_1536_Closed_Text.style.display='none'; Codehighlighter1_1202_1536_Open_Image.style.display='inline'; Codehighlighter1_1202_1536_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items:[</span><span id=Codehighlighter1_1202_1536_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1202_1536_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;layout:'form',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;columnWidth:.</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labelSeparator:'：',<br><img id=Codehighlighter1_1326_1523_Open_Image onclick="this.style.display='none'; Codehighlighter1_1326_1523_Open_Text.style.display='none'; Codehighlighter1_1326_1523_Closed_Image.style.display='inline'; Codehighlighter1_1326_1523_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1326_1523_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1326_1523_Closed_Text.style.display='none'; Codehighlighter1_1326_1523_Open_Image.style.display='inline'; Codehighlighter1_1326_1523_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items:[</span><span id=Codehighlighter1_1326_1523_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1326_1523_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xtype:'textfield',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fieldLabel:'验证码',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;'code',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anchor:'</span><span style="COLOR: #000000">88</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allowBlank:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxLength:</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">]<br><img id=Codehighlighter1_1538_1793_Open_Image onclick="this.style.display='none'; Codehighlighter1_1538_1793_Open_Text.style.display='none'; Codehighlighter1_1538_1793_Closed_Image.style.display='inline'; Codehighlighter1_1538_1793_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1538_1793_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1538_1793_Closed_Text.style.display='none'; Codehighlighter1_1538_1793_Open_Image.style.display='inline'; Codehighlighter1_1538_1793_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,</span><span id=Codehighlighter1_1538_1793_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1538_1793_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;layout:'form',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;columnWidth:.</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,<br><img id=Codehighlighter1_1632_1780_Open_Image onclick="this.style.display='none'; Codehighlighter1_1632_1780_Open_Text.style.display='none'; Codehighlighter1_1632_1780_Closed_Image.style.display='inline'; Codehighlighter1_1632_1780_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1632_1780_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1632_1780_Closed_Text.style.display='none'; Codehighlighter1_1632_1780_Open_Image.style.display='inline'; Codehighlighter1_1632_1780_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items:[</span><span id=Codehighlighter1_1632_1780_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1632_1780_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xtype:'panel',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hideLabel:</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">,<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;'codepanel',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html:'</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">img&nbsp;src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">?action=code</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">/&gt;</span><span style="COLOR: #000000">'<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">]<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">]<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">],<br><img id=Codehighlighter1_1830_2555_Open_Image onclick="this.style.display='none'; Codehighlighter1_1830_2555_Open_Text.style.display='none'; Codehighlighter1_1830_2555_Closed_Image.style.display='inline'; Codehighlighter1_1830_2555_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1830_2555_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1830_2555_Closed_Text.style.display='none'; Codehighlighter1_1830_2555_Open_Image.style.display='inline'; Codehighlighter1_1830_2555_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buttons:&nbsp;[</span><span id=Codehighlighter1_1830_2555_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1830_2555_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text:'登陆',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:'submit',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style:'margin</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">left:42px;',<br><img id=Codehighlighter1_1952_2545_Open_Image onclick="this.style.display='none'; Codehighlighter1_1952_2545_Open_Text.style.display='none'; Codehighlighter1_1952_2545_Closed_Image.style.display='inline'; Codehighlighter1_1952_2545_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1952_2545_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1952_2545_Closed_Text.style.display='none'; Codehighlighter1_1952_2545_Open_Image.style.display='inline'; Codehighlighter1_1952_2545_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handler:&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_1952_2545_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1952_2545_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_1988_2535_Open_Image onclick="this.style.display='none'; Codehighlighter1_1988_2535_Open_Text.style.display='none'; Codehighlighter1_1988_2535_Closed_Image.style.display='inline'; Codehighlighter1_1988_2535_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1988_2535_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1988_2535_Closed_Text.style.display='none'; Codehighlighter1_1988_2535_Open_Image.style.display='inline'; Codehighlighter1_1988_2535_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(lfm.form.isValid())</span><span id=Codehighlighter1_1988_2535_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_1988_2535_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_2029_2519_Open_Image onclick="this.style.display='none'; Codehighlighter1_2029_2519_Open_Text.style.display='none'; Codehighlighter1_2029_2519_Closed_Image.style.display='inline'; Codehighlighter1_2029_2519_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2029_2519_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2029_2519_Closed_Text.style.display='none'; Codehighlighter1_2029_2519_Open_Image.style.display='inline'; Codehighlighter1_2029_2519_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lfm.form.doAction('submit',</span><span id=Codehighlighter1_2029_2519_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_2029_2519_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url:'</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">action</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">login',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params:'',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method:'post',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;waitTitle:'提示信息',<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;waitMsg:'登陆系统中<img src="http://www.phpweblog.net/Images/dot.gif">',<br><img id=Codehighlighter1_2217_2406_Open_Image onclick="this.style.display='none'; Codehighlighter1_2217_2406_Open_Text.style.display='none'; Codehighlighter1_2217_2406_Closed_Image.style.display='inline'; Codehighlighter1_2217_2406_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2217_2406_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2217_2406_Closed_Text.style.display='none'; Codehighlighter1_2217_2406_Open_Image.style.display='inline'; Codehighlighter1_2217_2406_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success:</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(form,action)</span><span id=Codehighlighter1_2217_2406_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_2217_2406_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_2261_2319_Open_Image onclick="this.style.display='none'; Codehighlighter1_2261_2319_Open_Text.style.display='none'; Codehighlighter1_2261_2319_Closed_Image.style.display='inline'; Codehighlighter1_2261_2319_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2261_2319_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2261_2319_Closed_Text.style.display='none'; Codehighlighter1_2261_2319_Open_Image.style.display='inline'; Codehighlighter1_2261_2319_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(action.result.data</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'登陆成功')</span><span id=Codehighlighter1_2261_2319_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_2261_2319_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.location</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">action</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">main';<br><img id=Codehighlighter1_2324_2392_Open_Image onclick="this.style.display='none'; Codehighlighter1_2324_2392_Open_Text.style.display='none'; Codehighlighter1_2324_2392_Closed_Image.style.display='inline'; Codehighlighter1_2324_2392_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2324_2392_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2324_2392_Closed_Text.style.display='none'; Codehighlighter1_2324_2392_Open_Image.style.display='inline'; Codehighlighter1_2324_2392_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #0000ff">else</span><span id=Codehighlighter1_2324_2392_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_2324_2392_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ext.Msg.alert('提示信息',action.result.data);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,<br><img id=Codehighlighter1_2439_2505_Open_Image onclick="this.style.display='none'; Codehighlighter1_2439_2505_Open_Text.style.display='none'; Codehighlighter1_2439_2505_Closed_Image.style.display='inline'; Codehighlighter1_2439_2505_Closed_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2439_2505_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2439_2505_Closed_Text.style.display='none'; Codehighlighter1_2439_2505_Open_Image.style.display='inline'; Codehighlighter1_2439_2505_Open_Text.style.display='inline';" src="http://www.phpweblog.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;failure:</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">()</span><span id=Codehighlighter1_2439_2505_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.phpweblog.net/Images/dot.gif"></span><span id=Codehighlighter1_2439_2505_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ext.Msg.alert('提示信息','操作失败，请联系系统管理员！');<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">]<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;lfm.render('inner');<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">);</span></div>
<br>以下是Fleaphp的Controller代码<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">///////////////////////////////////////////////////////////////////////////<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;这个文件是&nbsp;RangeCrm&nbsp;项目的一部分<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;Copyright&nbsp;(c)&nbsp;2007&nbsp;-&nbsp;2008&nbsp;www.erange.com.cn<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;要查看完整的版权信息和许可信息，请查看源代码中附带的&nbsp;COPYRIGHT&nbsp;文件，<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;或者访问&nbsp;http://www.erange.com.cn/&nbsp;获得详细信息。</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//</span><span style="COLOR: #008000">///////////////////////////////////////////////////////////////////////////</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">loadClass(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Controller_Default</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;用户资料控制类<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@package&nbsp;AUsers<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@author&nbsp;苏广贤&nbsp;susam119@21cn.com<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@version&nbsp;0.1<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Controller_AUsers&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;Controller_Default&nbsp;{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;数据对象<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Table_AUsers<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$_tbAUsers</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;操作对象<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Model_AUsers<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$_mlAUsers</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;数据对象<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Table_AProfile<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$_tbAProfile</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;构造函数<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;__construct(){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">=&amp;</span><span style="COLOR: #000000">FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">getSingleton(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Table_AUsers</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_mlAUsers</span><span style="COLOR: #000000">=&amp;</span><span style="COLOR: #000000">FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">getSingleton(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Model_AUsers</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAProfile</span><span style="COLOR: #000000">=&amp;</span><span style="COLOR: #000000">FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">getSingleton(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Table_AProfile</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;载入列表界面<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;actionIndex(){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$rows</span><span style="COLOR: #000000">=</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pager(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">users_id&nbsp;desc</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$smarty</span><span style="COLOR: #000000">=</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_getView();<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$smarty</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">assign(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">js</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">APP_JS);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$smarty</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">assign(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">users</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #800080">$rows</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$smarty</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">display(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">admin/users.tpl</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #000000"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">?&gt;</span></div>
以下是Fleaphp的Model代码<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">///////////////////////////////////////////////////////////////////////////<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;这个文件是&nbsp;RangeCrm&nbsp;项目的一部分<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;Copyright&nbsp;(c)&nbsp;2007&nbsp;-&nbsp;2008&nbsp;www.erange.com.cn<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;要查看完整的版权信息和许可信息，请查看源代码中附带的&nbsp;COPYRIGHT&nbsp;文件，<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;或者访问&nbsp;http://www.erange.com.cn/&nbsp;获得详细信息。</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//</span><span style="COLOR: #008000">///////////////////////////////////////////////////////////////////////////</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">loadClass(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Controller_Default</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;用户资料操作类<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@package&nbsp;AUsers<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@author&nbsp;苏广贤&nbsp;susam119@21cn.com<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@version&nbsp;0.1<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Model_AUsers&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;Controller_Default&nbsp;{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;数据对象<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Table_AUsers<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$_tbAUsers</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;构造函数<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;__construct(){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">=&amp;</span><span style="COLOR: #000000">FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">getSingleton(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Table_AUsers</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;登陆函数<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;login(){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$rules</span><span style="COLOR: #000000">=</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">meta;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$rules</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">USERNAME</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">notEmpty</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$rules</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">PASSWORD</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">notEmpty</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$verifier</span><span style="COLOR: #000000">=&amp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;FLEA_Helper_Verifier();<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">=</span><span style="COLOR: #800080">$verifier</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">checkAll(</span><span style="COLOR: #800080">$_POST</span><span style="COLOR: #000000">,</span><span style="COLOR: #800080">$rules</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">loadClass(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">FLEA_Helper_ImgCode</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$imgcode</span><span style="COLOR: #000000">=&amp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;FLEA_Helper_ImgCode();<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #800080">$imgcode</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">check(</span><span style="COLOR: #800080">$_POST</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">code</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">echo</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">{success:true,data:"验证码不正确"}</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">exit</span><span style="COLOR: #000000">();<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$user</span><span style="COLOR: #000000">=</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">findByUsername(</span><span style="COLOR: #800080">$_POST</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">username</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">!</span><span style="COLOR: #800080">$user</span><span style="COLOR: #000000">){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">echo</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">{success:true,data:"用户名错误"}</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">exit</span><span style="COLOR: #000000">();<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$pwd</span><span style="COLOR: #000000">=</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">checkPassword(</span><span style="COLOR: #800080">$_POST</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">password</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #800080">$user</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">passwordField]);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">!</span><span style="COLOR: #800080">$pwd</span><span style="COLOR: #000000">){<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">echo</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">{success:true,data:"密码错误"}</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">exit</span><span style="COLOR: #000000">();<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$roles</span><span style="COLOR: #000000">=</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">fetchRoles(</span><span style="COLOR: #800080">$user</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$rbac</span><span style="COLOR: #000000">=&amp;</span><span style="COLOR: #000000">FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">getSingleton(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">FLEA_Com_RBAC</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$sessionUsers</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">array</span><span style="COLOR: #000000">(<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$user</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">primaryKey]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$user</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_tbAUsers</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">usernameField]<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #800080">$rbac</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setUser(</span><span style="COLOR: #800080">$sessionUsers</span><span style="COLOR: #000000">,</span><span style="COLOR: #800080">$roles</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">echo</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">{success:true,data:"登陆成功"}</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #000000">}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">?&gt;</span></div>
以下是Fleaphp的Table代码<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">///////////////////////////////////////////////////////////////////////////<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;这个文件是&nbsp;RangeCrm&nbsp;项目的一部分<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;Copyright&nbsp;(c)&nbsp;2007&nbsp;-&nbsp;2008&nbsp;www.erange.com.cn<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;要查看完整的版权信息和许可信息，请查看源代码中附带的&nbsp;COPYRIGHT&nbsp;文件，<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;或者访问&nbsp;http://www.erange.com.cn/&nbsp;获得详细信息。</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//</span><span style="COLOR: #008000">///////////////////////////////////////////////////////////////////////////</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>FLEA</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">loadClass(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">FLEA_Com_RBAC_UsersManager</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;用户资料数据类<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@package&nbsp;AUsers<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@author&nbsp;苏广贤&nbsp;susam119@21cn.com<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;*&nbsp;@version&nbsp;0.1<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Table_AUsers&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;FLEA_Com_RBAC_UsersManager&nbsp;{<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;数据表名<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;users<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$tableName</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">users</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;数据表主键<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;users_id<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$primaryKey</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">users_id</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;多对多关联<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;array<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$manyToMany</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">array</span><span style="COLOR: #000000">(<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">tableClass</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Table_ARoles</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">joinTable</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">users_roles</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">foreignKey</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">users_id</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">assocforeignKey</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">roles_id</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">mappingName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">roles</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;一对一关联<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;array<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$hasOne</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">array</span><span style="COLOR: #000000">(<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">tableClass</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Table_AProfile</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">foreignKey</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">users_id</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">mappingName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">profile</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;);<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">?&gt;</span></div>
<img src ="http://www.phpweblog.net/susam119/aggbug/2543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-15 22:27 <a href="http://www.phpweblog.net/susam119/archive/2007/12/15/2543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]互联网项目到底该如何进展</title><link>http://www.phpweblog.net/susam119/archive/2007/12/11/2528.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Tue, 11 Dec 2007 06:20:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/11/2528.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2528.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/11/2528.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2528.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2528.html</trackback:ping><description><![CDATA[<p>前段时间有些迷惑，整理下思路，也顺便对2007进行一些总结。<br><br>1、怪怪兄强调产品的技术壁垒，我对此并不认可，我认为应该是思路的壁垒 -&gt; 技术的壁垒 -&gt; 最终形成综合资源的壁垒，比如用户、口碑等等。<br><br>2、前几日得一朋友介绍，与互联网中的老大哥畅谈了大约1小时，此位老大哥也属于很前辈很成功的人物了，按照他的说法，互联网项目，逐渐在走向一个幕头阶段，于新战场上进行创新并取得主导地位的几率正在下降，这时候对创始人的考验是很大的，更重要的一点在于需要有一个很强力的扩张能力，而这个能力于VC等机构的作用性很强，如果按此说法，那采取循序渐进，先出一个样品，试探市场后，将主要精力用来不务正业的去把项目推销给VC，取得一定资源后再发力市场？这和我之前的思路不太一致，我坚信VC不是SB，我也不是HY强人，项目的本质得不到一个质的提高，即便取得VC的信任，恐怕对自身发展也不利，我的这一思想是否应该有所转变？<br><br>3、到底是产品重要，还是技术重要，我觉得需要分阶段，技术，按词解释应当是一切可作用于生产领域，并提高生产效率的方式方法，那么至少我觉得都先创建这个生产领域，才有进一步提高效率可言，所以我继续坚持我的观点，应当快速的把自己的思路体现出来，这时候不要沉迷于技术，然后不断的提高，不要完美主义，不要妄想一出来，我的技术门槛就很牛X，我更认可积累性的技术门槛，只要知道下一步该如何做，技术上如何进行深耕，如何积累，让产品从初始的创意竞争力逐步转为技术竞争力，即可，不要迷失，即可。<br><br>4、说说讨厌的web2.0，前几日拜读了谢老前辈关于SNS的文章，觉得说得有理，对谢老前辈于SNS的理论还是觉得比较佩服的，思路很清晰，很直接，近日又读了一篇麦田的关于web2.0这个非常让我鄙视的词汇，或许是我年轻的叛逆心理，我对于web2.0本身其实并不反感，主要在于该词汇于社会、互联网行业的滥用，用了几个JS，搞搞AJAX，就以为自己web2.0了，搞个博客，就认为自己web2.0了，于是让web2.0成为2007年行内最俗的词汇，以至于自己对此很不屑。。而麦田的此文，大致也就阐述了和我相同的观点，所以自己比较赞同，单独依靠一个blog就搞个bsp这样的模式，不可能做出什么成就，包括对园子，我也是这么说，dudu对此应该有很深刻的认识，园子的转型基本是必然的，对此就不必多说，而至于什么饭否，模仿一个twitter就想取得成绩，也只能是有人气没票房的份，所以很赞成麦田说的那句：&#8220;web2.0是一种思维，不是某个产品，也不是某种技术&#8221;<br><br>5、最后说回老本行，07年，也需要给自己做做总结，这一年，感觉自己的成长比较大，特别是年末的这几个月，此前，为贫血充血苦恼，到底该用什么好，在各种架构中挣扎，总试图建立一个很牛X的架构出来，然后在上面可以做几乎任何事，各种设计模式、理论、OO、AOP乱78糟的充斥着我的大脑，而最近的一个项目，我直接于aspx.cs中写了sql代码，我认为这是一种成长，其实世界本来是很简单的，为什么要刻意的复杂化呢？过度设计，实际上困扰着大部分同行，其实仔细想想，我的项目真有那么复杂？真的每个细节都需要如此设计？不设计，又会有什么后果？引发什么灾难性的鼓掌？在这个时间点，时间重要，还是今后的维护成本重要，我们真的有仔细考虑过吗？至少我觉得我过去，太想当然了，一味的觉得，是的，我的项目很复杂，如果不这样做，将来的维护性会不好，但我从来仔细考虑过，不好，那会导致什么，将来重构的成本又会很高吗？假如现在的过度设计让项目失去未来，还有什么维护性可言？不过话说回来，我并不是鼓励那种写烂代码的行为，这中间其实就是一念之差，具体这个话题，回头我会继续整理，用文字更清晰的表达出来，话说得有点重，不过本人向来以坏人自居，总说坏话。<br><br>今年还有很多收获，认识了很多朋友，他们让我学会了许多，间接的让我成长，感谢他们，感激他们。</p>
<img src ="http://www.phpweblog.net/susam119/aggbug/2528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-11 14:20 <a href="http://www.phpweblog.net/susam119/archive/2007/12/11/2528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PHP的CheckBox注意事项</title><link>http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Sat, 08 Dec 2007 06:43:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2507.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2507.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2507.html</trackback:ping><description><![CDATA[PHP的CheckBox按钮组名命要在后面加上[]，所以今后一定要注意！<br><img src ="http://www.phpweblog.net/susam119/aggbug/2507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-08 14:43 <a href="http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]Ext的组件结构分析,附Ext组件结构图</title><link>http://www.phpweblog.net/susam119/archive/2007/12/07/2499.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Fri, 07 Dec 2007 08:05:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/07/2499.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2499.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/07/2499.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2499.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2499.html</trackback:ping><description><![CDATA[相信大家看了Ext2.0后, 印象最深的应该是Ext的组件模式,很好的规范了组件设计,用Manager的统一管理,也是很好的方式.下面简单分析一下Ext的组件结构.<br>
<br>
Ext的所有组件都是扩展于Ext.Component, 而后子类扩展和集成形成了一个单根的组件树.<br>
Ext中使用组件的方式很不一样,可以看一个例子.<br>
<br>
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar"> </div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">var</span><span> formPanel = </span><span class="keyword">new</span><span> Ext.form.FormPanel({  </span></span></li>
    <li class=""><span>      items: [{  </span></li>
    <li class="alt"><span>                xtype: 'hidden',  </span></li>
    <li class=""><span>                name: 'domainId'  </span></li>
    <li class="alt"><span>            },{  </span></li>
    <li class=""><span>                fieldLabel: '姓名',  </span></li>
    <li class="alt"><span>                name: 'name',  </span></li>
    <li class=""><span>                allowBlank:<span class="keyword">false</span><span>  </span></span></li>
    <li class="alt"><span>            },{  </span></li>
    <li class=""><span>                fieldLabel: '权限', </span></li>
    <li class="alt"><span>                xtype: 'combo',  <br>
    </span></li>
    <li class="alt"><span>                name: 'auth'  </span></li>
    <li class=""><span>            },{  </span></li>
    <li class="alt"><span>                fieldLabel: '帐号',  </span></li>
    <li class=""><span>                name: 'account'  </span></li>
    <li class="alt"><span>            },{  </span></li>
    <li class=""><span>                fieldLabel: 'Email',  </span></li>
    <li class="alt"><span>                name: 'email',  </span></li>
    <li class=""><span>                vtype:'email'  </span></li>
    <li class="alt"><span>            },{  </span></li>
    <li class=""><span>                fieldLabel: '启用', </span></li>
    <li class="alt"><span>                xtype: 'checkbox',  <br>
    </span></li>
    <li class="alt"><span>                name: 'enabled'  </span></li>
    <li class=""><span>            }  </span></li>
    <li class="alt"><span>        ]  </span></li>
    <li class=""><span>});  </span></li>
</ol>
</div>
如此这样就能实现一个包含了很多元素的表单, items里面定义了表单要显示的输入框等组件,但是items里面仅仅是简单的json对象,怎么能显示出来各种不同的表单元素呢?<br>
<br>
我们注意到items的每一个元素几乎都有一个xtype属性,这个xtype属性就是描述组件类的关键.<br>
<br>
其实Ext里面的组件(Panel, Form Datepicker等等), 在定义完Class之后, 都会把自己注册到Ext.ComponentMgr里面. 简单看一个box的组件, 在BoxComponent.js文件的最后一行可以看到:<br>
<br>
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<ol class="dp-c" start="1">
    <li class="alt"><span><span>Ext.reg('box', Ext.BoxComponent);  </span></span></li>
</ol>
</div>
<br>
而在, ComponentMgr.js文件里<br>
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar"> </div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span>        </span><span class="comment">// private</span><span>  </span></span></li>
    <li class=""><span>        registerType : <span class="keyword">function</span><span>(xtype, cls){  </span></span></li>
    <li class="alt"><span>            types[xtype] = cls;  </span></li>
    <li class=""><span>            cls.xtype = xtype;  </span></li>
    <li class="alt"><span>        },  </span></li>
    <li class=""><span>  </span><br></li>
    <li class="alt"><span>        <span class="comment">// private</span><span>  </span></span></li>
    <li class=""><span>        create : <span class="keyword">function</span><span>(config, defaultType){  </span></span></li>
    <li class="alt"><span>            <span class="keyword">return</span><span> </span><span class="keyword">new</span><span> types[config.xtype || defaultType](config);  </span></span></li>
    <li class=""><span>        }  </span></li>
    <li class="alt"><span>    };  </span></li>
    <li class=""><span>}();  </span></li>
    <li class="alt"><span>  </span><br></li>
    <li class=""><span><span class="comment">// this will be called a lot internally,</span><span>  </span></span></li>
    <li class="alt"><span><span class="comment">// shorthand to keep the bytes down</span><span>  </span></span></li>
    <li class=""><span>Ext.reg = Ext.ComponentMgr.registerType;  </span></li>
</ol>
</div>
<br>
其实是执行了<span>registerType 这个方法,方法很简单, 把xtype这个名字和对应的cls放到</span><span>types里面,  而后看到</span><span>create 我们应该会明白了, 以后想创建组件的时候,就调用 </span><span>create({xtype: 'box'}) 就OK了<br>
<br>
那么我们看看items里面的元素是怎么创建的吧, form的继承树中有一个Ext.Container类, 恩,就在这个类里呢:<br>
<br>
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar"> </div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="comment">// private</span><span>  </span></span></li>
    <li class=""><span>lookupComponent : <span class="keyword">function</span><span>(comp){  </span></span></li>
    <li class="alt"><span>    <span class="keyword">if</span><span>(</span><span class="keyword">typeof</span><span> comp == 'string'){  </span></span></li>
    <li class=""><span>        <span class="keyword">return</span><span> Ext.ComponentMgr.get(comp);  </span></span></li>
    <li class="alt"><span>    }<span class="keyword">else</span><span> </span><span class="keyword">if</span><span>(!comp.events){  </span></span></li>
    <li class=""><span>        <span class="keyword">return</span><span> </span><span class="keyword">this</span><span>.createComponent(comp);  </span></span></li>
    <li class="alt"><span>    }  </span></li>
    <li class=""><span>    <span class="keyword">return</span><span> comp;  </span></span></li>
    <li class="alt"><span>},  </span></li>
    <li class=""><span>  </span><br></li>
    <li class="alt"><span><span class="comment">// private</span><span>  </span></span></li>
    <li class=""><span>createComponent : <span class="keyword">function</span><span>(config){  </span></span></li>
    <li class="alt"><span>    <span class="keyword">return</span><span> Ext.ComponentMgr.create(config, </span><span class="keyword">this</span><span>.defaultType);  </span></span></li>
    <li class=""><span>},  </span></li>
</ol>
</div>
<br>
恩,基本就是这样了, 希望对大家理解Ext有所帮助<br>
<br>
/************************************************/<br>
附件是我弄的一个Ext的组件结构图, 还附有各个组件的说明, 希望大家喜欢, 大家快下呀....<br><img alt=""  src="http://www.phpweblog.net/images/phpweblog_net/susam119/ext-component-tree.jpg" border="0" height="768" width="587"><br></span><img src ="http://www.phpweblog.net/susam119/aggbug/2499.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-07 16:05 <a href="http://www.phpweblog.net/susam119/archive/2007/12/07/2499.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]EXT核心API详解(一)-Ext</title><link>http://www.phpweblog.net/susam119/archive/2007/12/07/2498.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Fri, 07 Dec 2007 06:49:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/07/2498.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2498.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/07/2498.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2498.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2498.html</trackback:ping><description><![CDATA[		Ext类<br>addBehaviors( Object obj ) : void<br>对选择的元素 应用事件侦听器,事件名以@附加在结尾,例如<br>addBehaviors({<br>&nbsp;&nbsp; // id=foo下所有的a标签加入click事件<br>&nbsp;&nbsp; '#foo a@click' : function(e, t){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // do something<br>&nbsp;&nbsp; },<br>&nbsp;&nbsp; // 用,分隔多个选择器<br>&nbsp;&nbsp; '#foo a, #bar span.some-class@mouseover' : function(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // do something<br>&nbsp;&nbsp; }<br>});<br><br><br>apply( Object obj, Object config, Object defaults ) : Object<br>从config拷贝所有的属性到obj,如果有defaults参数,也将拷贝其属性到obj<br><br>applyIf( Object obj, Object config ) : Object<br>从config拷贝所有属性至obj(如果obj未定义相应属性)<br><br>decode(Object obj) : String<br>编码一个对象/数组或其它值为一个json格式字符串(支持对象,数组,日期,字符串)<br><br>destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void<br>尝试去移除每个传入的对象,包括DOM,事件侦听者,并呼叫他们的destroy方法(如果存在)<br><br><br>each( Array/NodeList/Mixed array, Function fn, Object scope ) : void<br>利用array中的每个元素迭代调用fn.直到fn返回假,调用格式fn.call(scope || array[i], array[i], i, array);<br><br><br>encode(String json) : Object<br>将一个json格式字符串反序列化为对象<br><br>escapeRe( String str ) : String<br>为字符串正则编码将.在*+?^${}()|[]/\字符前加\<br><br>extend( Object subclass, Object superclass, [Object overrides] ) : void<br>从superclass类继承subclass,overrides参数是要重载的方法列表,详见override<br><br>fly( String/HTMLElement el, [String named] ) : Element<br>得到全局共享的一个浮动元素el,如果有多个浮动元素可以使用命名以避免潜在的冲突<br><br>get( Mixed el ) : Element<br>得到一个Element对象,参数可以是id或DOM节点或已存在的Element对象<br><br>getBody() : Element<br>得到当前文档的body对象<br><br>getCmp( String id ) : Component<br>通过id得到一个Component对象<br><br><br>getDoc() : Element<br>得到当前文档<br><br>getDom( Mixed el ) : HTMLElement<br>通过id或节点或Element对象返回一个DOM节点<br><br><br>id( [Mixed el], [String prefix] ) : String<br>为对象el生成一个惟一id,如果对象本身已有id,将不会被改变(可以使用前导符prefix)<br><br><br>isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean<br>判断值是否为空,null, undefined或空字符串将返回真,如果allowBlank定义为真,空字符串将不被视为空<br><br>namespace( String namespace1, String namespace2, String etc ) : void<br>创建一个命名空间,例<br>Ext.namespace('Company', 'Company.data');<br>Company.Widget = function() { ... }<br>Company.data.CustomStore = function(config) { ... }<br><br>num( Mixed value, Number defaultValue ) : Number<br>将value转为数值,如果value不是合法的数值类型,将返回defaultValue,其实defaultValue并不一定要求是数值类型,只要你愿意<br><br><br>onReady( Function fn, Object scope, boolean override ) : void<br>当文档准备好了之后引发fn,发生在page的onload事件之前,并且图片此时都还没有载入,scope定义执有者,override定义scope是否有默认的选择<br><br><br>override( Object origclass, Object overrides ) : void<br>利用overrides重写origclass的方法,例<br>Ext.override(MyClass, {<br>&nbsp;&nbsp;&nbsp; newMethod1: function(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // etc.<br>&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp; newMethod2: function(foo){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // etc.<br>&nbsp;&nbsp;&nbsp; }<br>});<br><br>query( String path, [Node root] ) : Array<br>通过path,在root中选择节点数组,path可以是以下四种选择器之一<br>[元素选择器] 例:<br>* 任意节点<br>E 一个E标签元素<br>E F 祖先节点为E的F节点<br>E &gt; F 或 E/F 父节点为E的F节点<br>E + F 前一个兄弟节点为E的F节点<br>E ~ F 前面的兄弟节点中有E的F节点<br>[属性选择器] 例:<br>E[foo] 有foo属性的E节点<br>E[foo=bar] 有foo属性值为bar的E节点<br>E[foo^=bar] foo属性以bar开始的E节点<br>E[foo$=bar] foo属性以bar结尾的E节点<br>E[foo*=bar] foo属性中有bar字符串的E节点<br>E[foo%=2]&nbsp; foo属性能被2整除的E节点<br>E[foo!=bar] foo属性值不为bar的E节点<br>[伪类选择器] 例:<br>E:first-child E节点是父节点中第一个子节点<br>E:last-child E节点是父节点中最后一个子节点<br>E:nth-child(n) E是父节点中每n个节点<br>E:nth-child(odd) E是父节点中的奇数节点<br>E:nth-child(even) E是父节点中的偶数节点<br>E:only-child E是父节点中惟一的子节点<br>E:checked checked属性为真的节点<br>E:first 子孙节点中的第一个E节点<br>E:last&nbsp; 子孙节点中的最后一个E节点<br>E:nth(n) 子孙节点中的第n个E节点<br>E:odd E:nth-child(odd)的简写<br>E:even E:nth-child(even)的简写<br>E:contains(foo)&nbsp; innerHTML属性中含有foo的E节点<br>E:nodeValue(foo) E节点中包含一个值为foo的文本节点<br>E:not(S) 不匹配简单选择器S的E节点<br>E:has(S) 有能匹配简单选择器S的子节点的E节点<br>E:next(S) 下一个兄弟节匹配简单选择器S的E节点<br>E:prev(S) 前一个兄弟节匹配简单选择器S的E节点<br>type( Mixed object ) : String<br>判断对象类型,如果不是下列值之一将返回false<br>[样式选择器] 例:<br>E{display=none} display属性值为none的E节点<br>E{display^=none} display属性值以none开始的E节点<br>E{display$=none} display属性值以none结束的E节点<br>E{display*=none} display属性值含有none子字串的E节点<br>E{display%=2} display属性值能被2整除的E节点<br>E{display!=none} display属性值不等于none的E节点<br><br><br>select( String/Array selector, [Boolean unique], [HTMLElement/String root] ) :CompositeElementLite/CompositeElement<br>在root内通过样式选择器或元素数组selector选择元素或元素列表,unique指示是否只选择惟一值<br><br>urlDecode( String string, [Boolean overwrite] ) : Object<br>将url格式字符串string解码为json对象,overwrite参数指示是否不重写已存在的对象,例<br>Ext.urlDecode("foo=1&amp;bar=2"); //返回 {foo: 1, bar: 2} <br>Ext.urlDecode("foo=1&amp;bar=2&amp;bar=3&amp;bar=4"); //返回 {foo: 1, bar: 4}.<br>Ext.urlDecode("foo=1&amp;bar=2&amp;bar=3&amp;bar=4", true); //返回 {foo: 1, bar: [2, 3, 4]}.<br><br>urlEncode( Object o ) : String<br>将json对象编码为url格式字符串,参见urlDecode<br>&nbsp;&nbsp;&nbsp; &nbsp;<br>type( Mixed object ) : String<br>得到object类型,如果不为以下列举值之一则返回false<br>string/number/boolean/function/object/array/regexp/element/nodelist/textnode/whitespace<img src ="http://www.phpweblog.net/susam119/aggbug/2498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-07 14:49 <a href="http://www.phpweblog.net/susam119/archive/2007/12/07/2498.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]EXT核心API详解(二)-Array/Date/Function/Number/String</title><link>http://www.phpweblog.net/susam119/archive/2007/12/07/2497.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Fri, 07 Dec 2007 06:47:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/07/2497.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2497.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/07/2497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2497.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2497.html</trackback:ping><description><![CDATA[		Array类<br>indexOf( Object o ) : Number<br>object是否在数组中,找不到返回-1;找到返回位置<br>remove( Object o ) : Array<br>从数组中删除指定的对象object,如果找不到object则数组无变化<br><br>Number类<br>constrain( Number min, Number max ) : Number<br>检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值<br><br>String类<br>escape( String string ) : String<br>将string中的'和\替换为\' \\<br><br>format( String string, String value1, String value2 ) : String<br>格式化字符串,例:<br>var cls = 'my-class', text = 'Some text';<br>var
s = String.format('&lt;div class="{0}"&gt;{1}&lt;/div&gt;', cls,
text);// 结果 &lt;div class="my-class"&gt;Some text&lt;/div&gt;<br><br>leftPad( String string, Number size, [String char] ) : String<br>以char将string补齐为size长度,char默认定义空格<br><br>toggle( String value, String other ) : String<br>交换值,如果当前值等于value,则被赋值other,反之等于value,例:<br>sort = sort.toggle('ASC', 'DESC');<br><br>trim() : String<br>去除开头或结尾多余的空格<br><br><br>Date类<br>Date.parseDate( String input, String format ) : Date<br>将字符串string依指定的格式format转换为时间,其中格式定义详见format方法<br>例:dt = Date.parseDate("2006-01-15 3:20:01 PM", "Y-m-d h:i:s A" ); <br><br><br>add( String interval, Number value ) : Date<br>增加时间段,String interval在Data类中已定义<br>Date.MILLI = "ms";<br>Date.SECOND = "s";<br>Date.MINUTE = "mi";<br>Date.HOUR = "h";<br>Date.DAY = "d";<br>Date.MONTH = "mo";<br>Date.YEAR = "y";<br>例var dt2 = new Date('10/1/2006').add(Date.DAY, -5); <br><br>between( Date start, Date end ) : Boolean<br>是否在两个指定的时间之间<br><br>clearTime( Boolean clone ) : Date<br>清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值<br><br>clone() : Date<br>克隆<br><br>format( String format ) : String<br>格式化时间<br>d&nbsp;&nbsp;&nbsp;&nbsp; 两位数的日期&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 01 至 31<br>D&nbsp;&nbsp;&nbsp;&nbsp; 三字母的星期名&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Mon 至 Sun<br>j&nbsp;&nbsp;&nbsp;&nbsp; 一位数的日期&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1 至 31<br>l&nbsp;&nbsp;&nbsp;&nbsp; 完整的星期名&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Sunday 至 Saturday<br>S&nbsp;&nbsp;&nbsp;&nbsp; 日期的英文顺序刻词尾,两个字符&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; st, nd, rd or th.<br>w&nbsp;&nbsp;&nbsp;&nbsp; 一周中的第几天&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 0 (星期天) 至 6 (星期六)<br>z&nbsp;&nbsp;&nbsp;&nbsp; 一年中的第几天&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 0 至 364 (闰年365 )<br>W&nbsp;&nbsp;&nbsp;&nbsp; ISO-8601 星期数, 周一算一个星期的开始&nbsp;&nbsp;&nbsp; 1 至 53<br>F&nbsp;&nbsp;&nbsp;&nbsp; 月的完整英文名&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; January 至 December<br>m&nbsp;&nbsp;&nbsp;&nbsp; 月,以0前导&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 01 至 12<br>M&nbsp;&nbsp;&nbsp;&nbsp; 三字母的简写月名&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Jan 至 Dec<br>n&nbsp;&nbsp;&nbsp;&nbsp; 月&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1 至 12<br>t&nbsp;&nbsp;&nbsp;&nbsp; 本月有多少天&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 28 至 31<br>L&nbsp;&nbsp;&nbsp;&nbsp; 是否闰年&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1/0<br>Y&nbsp;&nbsp;&nbsp;&nbsp; 完整的年份&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 例: 1999 或 2003<br>y&nbsp;&nbsp;&nbsp;&nbsp; 年的后两位&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 例: 99 或 03<br>a&nbsp;&nbsp;&nbsp;&nbsp; 上午/下午小写&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; am 或 pm<br>A&nbsp;&nbsp;&nbsp;&nbsp; 上午/下午大写&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; AM 或 PM<br>g&nbsp;&nbsp;&nbsp;&nbsp; 小时/12小时制&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1 至 12<br>G&nbsp;&nbsp;&nbsp;&nbsp; 小时/24小时制&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 0 至 23<br>h&nbsp;&nbsp;&nbsp;&nbsp; 小时/12小时制&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 01 至 12<br>H&nbsp;&nbsp;&nbsp;&nbsp; 小时/24小时制&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 00 至 23<br>i&nbsp;&nbsp;&nbsp;&nbsp; 分钟&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 00 至 59<br>s&nbsp;&nbsp;&nbsp;&nbsp; 秒&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 00 至 59<br>u&nbsp;&nbsp;&nbsp;&nbsp; 毫秒&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 001 至 999<br>O&nbsp;&nbsp;&nbsp;&nbsp; 时区,与格林威治标准时间之差&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 例: +0200<br>T&nbsp;&nbsp;&nbsp;&nbsp; 时区简写&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 例: EST, MDT ...<br>Z&nbsp;&nbsp;&nbsp;&nbsp; 时区间距&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; -43200 至 50400<br>其中Date类内置了几种格式<br>Date.patterns = {<br>&nbsp;&nbsp;&nbsp; ISO8601Long:"Y-m-d H:i:s",<br>&nbsp;&nbsp;&nbsp; ISO8601Short:"Y-m-d",<br>&nbsp;&nbsp;&nbsp; ShortDate: "n/j/Y",<br>&nbsp;&nbsp;&nbsp; LongDate: "l, F d, Y",<br>&nbsp;&nbsp;&nbsp; FullDateTime: "l, F d, Y g:i:s A",<br>&nbsp;&nbsp;&nbsp; MonthDay: "F d",<br>&nbsp;&nbsp;&nbsp; ShortTime: "g:i A",<br>&nbsp;&nbsp;&nbsp; LongTime: "g:i:s A",<br>&nbsp;&nbsp;&nbsp; SortableDateTime: "Y-m-d\\TH:i:s",<br>&nbsp;&nbsp;&nbsp; UniversalSortableDateTime: "Y-m-d H:i:sO",<br>&nbsp;&nbsp;&nbsp; YearMonth: "F, Y"<br>};<br>当然ISO8601Long和ISO8601Short还是非常招人喜欢的<br>例:<br>dt.format(Date.patterns.ISO8601Long);<br>dt.format('Y-m-d H:i:s');<br>&nbsp;<br>getDayOfYear() : Number<br>一年中的第几天,从0开始<br><br>getDaysInMonth() : Number<br>本月有多少天,<br><br>getElapsed( [Date date] ) : Number<br>当前日期对象与date之间相差的毫秒数<br><br>getFirstDateOfMonth() : Date<br>本月的第一天<br><br>getFirstDayOfMonth() : Number<br>本月第一天是星期几<br><br>getGMTOffset() : String<br>时区信息(见格式定义中的'O')<br>getFirstDateOfMonth() : Date<br>本月最后一天<br>&nbsp;<br>getFirstDayOfMonth() : Number<br>本月最后一天是星期几<br><br>getSuffix() : String<br>日期后导符(见格式定义中的S)<br><br>getTimezone() : String<br>时区(见T)<br><br>getWeekOfYear() : Number<br>一年中的第几周(见W)<br><br>isLeapYear() : Boolean<br>是否闰年<br><br><br>Function类<br>createCallback(/*args...*/) : Function<br>创建回叫方法<br><br>createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) :<br>创建委托<br>这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegate<br>createCallback==&gt;return method.apply(window, args);<br>createDelegate==&gt;return method.apply(obj || window, callArgs);<br>前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs位置插入,其它情况下原参将不起作用<br>例:<br>var fn = func1.createDelegate(scope, [arg1,arg2], true)&nbsp; <br>//fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);&nbsp; <br>var fn = func1.createDelegate(scope, [arg1,arg2])&nbsp; <br>//fn(a,b,c) === scope.func1(arg1,arg2);&nbsp; <br>var fn = func1.createDelegate(scope, [arg1,arg2], 1)&nbsp; <br>//fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);&nbsp; <br>var fn = func1.createCallback(arg1, arg2);&nbsp; <br>//fn() === func1(arg1, arg2)&nbsp; <br><br><br>createCallback : function(/*args...*/)&nbsp; <br><br><br>createInterceptor( Function fcn, [Object scope] ) : Function<br>创建阻断方法,如果fcn返回false,原方法将不会被执行<br><br>createSequence( Function fcn, [Object scope] ) : Function<br>创建组合方法,执行原方法+fcn<br><br>defer( Number millis, [Object obj], [Array args], [Boolean/Number appendArgs] ):Number<br>定时执行，隔millis毫秒后执行原方法<img src ="http://www.phpweblog.net/susam119/aggbug/2497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-07 14:47 <a href="http://www.phpweblog.net/susam119/archive/2007/12/07/2497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]EXT核心API详解(三)-Ext.Element</title><link>http://www.phpweblog.net/susam119/archive/2007/12/07/2496.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Fri, 07 Dec 2007 06:46:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/07/2496.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2496.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/07/2496.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2496.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2496.html</trackback:ping><description><![CDATA[		Ext.Element类<br><br>Element( String/HTMLElement element, [Boolean forceNew] )<br>由id或DOM节点创建Element对象<br><br>Element.fly( String/HTMLElement el, [String named] ) : Element<br>由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突<br><br>Element.get( Mixed el ) : Element<br>由id或DOM节点或已存在的Element得到一个Ext.Element对象<br><br>addClass( String/Array className ) : Ext.Element<br>为元素添加一个或多个css类名<br><br>addClassOnClick( String className ) : Ext.Element<br>为点击事件添加和移除css类<br><br>addClassOnFocus( String className ) : Ext.Element<br>为得到和失去焦点添加和移除css类<br><br>addClassOnOver( String className, [Boolean preventFlicker] ) : Ext.Element<br>为鼠标移入移出事件添加和移除css类(该方法未实际使用preventFlicker参数)<br><br>addKeyListener( Number/Array/Object/String key, Function fn, [Object scope] ) : Ext.KeyMap<br>为对象添加按键侦听 key由数值或字符串或{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}这样的对象或他们的数组组成<br><br>addKeyMap( Object config ) : Ext.KeyMap<br>功能同addKeyListener,只是传参方式不同<br>例:<br>el.addKeyMap({key : "ab",ctrl : true,fn: fn,scope:el });<br>和<br>el.addKeyListener({key:"ab",ctrl:true},fn,el);<br>是等价的,都是在 按下ctral+a或ctrl+b后呼叫fn<br><br>addListener( String eventName, Function fn, [Object scope], [Object options] ) : void<br>定义事件侦听,eventName:事件名,fn:事件处理方法,scrope:范围,其中options的定义比较复杂,可以包含以下属性<br>scope {Object} : 处理fn的范围<br>delegate {String} : 一个简单选择器(过滤目标或寻找目标的子孙节点)<br>stopEvent {Boolean} : 阻止事件,等于preventDefault+stopPropagation<br>preventDefault {Boolean} : 阻止默认活动<br>stopPropagation {Boolean} : 阻止事件冒泡<br>normalized {Boolean} :设为flase将允许浏览器事件替代Ext.EventObject<br>delay {Number} : 延时多少毫秒后发生<br>single {Boolean} : 只运行一次<br>buffer {Number} : 在Ext.util.DelayedTask中预定事件<br>当然,还可能自定义参数以传入function<br><br><br>alignTo( Mixed element, String position, [Array offsets], [Boolean/Object animate] ) : Ext.Element<br>将el对齐到element,positon,指示对齐的位置,可选以下定义<br>tl&nbsp;&nbsp;&nbsp;&nbsp; 左上角(默认)<br>t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上居中 <br>tr&nbsp;&nbsp;&nbsp;&nbsp; 右上角<br>l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 左边界的中央<br>c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 居中<br>r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 右边界的中央<br>bl&nbsp;&nbsp;&nbsp;&nbsp; 左下角<br>b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下居中<br>br&nbsp;&nbsp;&nbsp;&nbsp; 右下角<br>position还可以使用?约束移动不能超出窗口<br>offsets 偏移量,以象素为单位<br>animate 详见animate定义<br><br>例:div1.alignTo('div2','c-bl?',[20,0],true);<br>采用默认动画将div1的最中央对齐到div2的左下角,并右移20个象素,且不能超出窗口<br><br><br>anchorTo(
Mixed element, String position, [Array offsets], [Boolean/Object
animate], [Boolean/Number monitorScroll], Function callback ) :
Ext.Element<br>功能和alignTo类似,只是当窗口重定义大小的时候也会引发重对齐事件<br>monitorScroll参数说明是否需要监视滚动条行为,如果定义为数值则是定义的延时,单位为毫秒,默认是50ms,<br>callback定义了animate完成后的回叫方法<br><br>animate( Object args, [Float duration], [Function onComplete], [String easing], [String animType] ) : Ext.Element<br>执行动画.<br>args:目标<br>duration:时间间隔.默认是0.35<br>Function:完成后的回叫方法<br>easing:行为方法 默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的<br>easeNone:匀速<br>easeIn:开始慢且加速<br>easeOut:开始快且减速<br>easeBoth:开始慢且减速<br>easeInStrong:开始慢且加速,t的四次方<br>easeOutStrong:开始快且减速,t的四次方<br>easeBothStrong:开始慢且减速,t的四次方<br>elasticIn:<br>elasticOut:<br>elasticBoth:<br>backIn:<br>backOut:<br>backBoth:<br>bounceIn:<br>bounceOut:<br>bounceBoth:<br>太多,慢慢体会吧<br>animType:定义动画类型,默认值run 可选值:color/motion/scroll<br><br><br>appendChild( String/HTMLElement/Array/Element/CompositeElement el ) : Ext.Element<br>添加子元素el(el须已存在)<br><br>appendTo( Mixed el ) : Ext.Element<br>将当前元素添加到el<br><br>applyStyles( String/Object/Function styles ) : Ext.Element<br>应用样式,styles是"width:100px"这样的字符串或{width:"100px"}这样的对象,function是指返回这样的字串和对象的函数,这是一个没有用的批示,因为任何传参的地方都可以是返回要求类型的function.另见setStyle<br><br>autoHeight( [Boolean animate], [Float duration], [Function onComplete], [String easing] ) : Ext.Element<br>自适应高度,参数都是老相识了,惟一需要注意的是这个方法使用了setTimeout,高度不会马上变更<br><br>blur() : Ext.Element<br>失去焦点,忽略所有的异常<br><br>boxWrap( [String class] ) : Ext.Element<br>用一个指定样式class的div将当前元素包含起来,class默认值为x-box<br><br>center( [Mixed centerIn] ) : void<br>alignTo的简华版.相当于alignTo(centerIn || document, 'c-c'),当前元素的中心对齐到centerIn元素的中心<br><br>child( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element<br>依selector选择子孙节点,依returnDom不同批示返回html元素还是ext元素,未定义或false时返回Ext.Element<br><br>clean( [Boolean forceReclean] ) : void<br>清除无用的空白文本节点(我喜欢这个想法)<br><br>clearOpacity() : Ext.Element<br>清除当前元素样式中不通用元素,清除ie中的filter,清除FF中的opacity/-moz-opacity/-khtml-opacity<br><br>clearPositioning( [String value] ) : Ext.Element<br>&nbsp;清除定位,恢复到默认值,相当于<br>&nbsp;this.setStyle({"left": value,"right": value,"top": value,"bottom": value,"z-index": "","position" : "static"});<br><br>clip() : Ext.Element<br>裁剪溢出部分,用unclip()恢复<br><br>contains( HTMLElement/String el ) : Boolean<br>当前元素中是否存在el<br><br>createChild( Object config, [HTMLElement insertBefore], [Boolean returnDom] ) : Ext.Element<br>创建一个新的子节点<br>config :DomHelper元素对象,如果没有特别指明tag,将使用div做默认tag,详情参见DomHelper,如果未定义insertBefore,则追加<br><br>createProxy( String/Object config, [String/HTMLElement renderTo], [Boolean matchBox] ) : Ext.Element<br>创建一个代理元素<br>config:代理元素的类名或DomHelper config对象<br>renderTo:将要绘制代理元素的html element或id<br>matchBox:是否对齐<br><br>createShim() : Ext.Element<br>在当前元素之前创建一个classname为ext-shim的iframe,有什么用?<br><br>down( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element<br>通过样式选择器selector选择子孙节点<br><br>enableDisplayMode( [String display] ) : Ext.Element<br>setVisibilityMode的简便方法<br><br>findParent( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement<br>通过简单选择器selector寻找祖先节点 ,直到maxDepth(元素maxDepth默认为10,也可以是指定的DOM 节点),找不到返回null<br><br>findParentNode( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement<br>从父元素开始使用简单选择器selector选择DOM节点<br><br>first( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br>得到第一个符合selector条件的子节点,跳过文本节点<br><br>focus() : Ext.Element<br>得到焦点<br><br>getAlignToXY( Mixed element, String position, [Array offsets] ) : Array<br>得到当前元素按position规则对齐到element时的XY坐标值 position/offsets参数参见alignTo方法<br><br>getAnchorXY( [String anchor], [Object size], [Boolean local] ) : Array<br>得到当前元素锚点指定的坐标值 anchor定义参见alignTo方法,默认为c<br><br>getAttributeNS( String namespace, String name ) : String<br>得到使用了命名空间namespace的属性name之值,<br><br>getBorderWidth( String side ) : Number<br>得到side指定的边框之和,side可以是t, l, r, b或他们的任意组合,比如getBorderWidth("lr")就是得到左边框和右边框之和<br><br>getBottom( Boolean local ) : Number<br>得到当前元素的底部纵坐标,元素纵坐标+元素高度<br><br>getBox( [Boolean contentBox], [Boolean local] ) : Object<br>得到当前元素的box对象:{x,y,width,height}<br><br>getCenterXY() : Array<br>如果当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, 'c-c')<br><br>getColor( String attr, String defaultValue, [String prefix] ) : void<br>得到当前元素指定attr的颜色值,如果没指定,返回defualtValue,比较郁闷的是明明不是void为什么api中批示是一个void?应该是个字符串<br><br>getComputedHeight() : Number<br>得到计算过的高度,得到offsetHeight或css中定义的height值之一,如果使用了padding/borders,也会计算进去<br><br>getComputedWidth() : Number<br>见getComputedHeight<br><br>getFrameWidth( String sides ) : Number<br>得到sides定义的border宽度和padding定义的宽度之和,side定义见getBorderWidth<br><br>getHeight( [Boolean contentHeight] ) : Number<br>返回元素的offsetHeight<br><br>getLeft( Boolean local ) : Number<br>得到横坐标<br><br>getMargins( [String sides] ) : Object/Number<br>如果没有定义sides,则返回一个含有{left,top,width,height}对象,反之返回side指定的宽度,side定义见getBorderWidth<br><br>getOffsetsTo( Mixed element ) : Array<br>计算从element到当前元素的偏移量<br><br>getPadding( String side ) : Number<br>得到由side指定的padding之和<br><br>getPositioning() : Object<br>得到当前元素的位置信息 返回含以下属性的对象{position,left,right,top,bottom,z-index}<br><br>getRegion() : Region<br>得到当前元素的区域信息 返回含有以下属性的Ext.lib.Region对象{top, left, bottom, right}<br><br>getRight( Boolean local ) : Number<br>右边界值<br><br>getScroll() : Object<br>得到一个批示滚动条位置的对象{left, top}<br><br>getSize( [Boolean contentSize] ) : Object<br>得到宽度和高度组成的对象信息{width,height}<br><br>getStyle( String property ) : String<br>得到指定的样式值 getStyles简化版<br><br>getStyles( String style1, String style2, String etc. ) : Object<br>得到由参数组成的对象<br>&nbsp;例:el.getStyles('color', 'font-size', 'width') <br>&nbsp;可能返回 {'color': '#FFFFFF', 'font-size': '13px', 'width': '100px'}<br><br>getTop( Boolean local ) : Number<br>得到顶点纵坐 标<br><br>getUpdater() : Ext.Updater<br>得到当前元素的Updater对象,参见Ext.Updater类<br><br>getValue( Boolean asNumber ) : String/Number<br>得到value属性的值<br><br>getViewSize() : Object<br>得到clientHeight和clientWidth信息给成的对象{width,height}<br><br>getWidth( [Boolean contentWidth] ) : Number<br>..这样的方法真多<br><br>getX() : Number<br>getXY() : Array<br>getY() : Array<br>得到页面偏移量,也就是绝对坐标<br><br>hasClass( String className ) : Boolean<br>样式类className 存在于当前元素的dom 节点中<br><br>hide( [Boolean/Object animate] ) : Ext.Element<br>隐藏当前元素<br><br>hover( Function overFn, Function outFn, [Object scope] ) : Ext.Element<br>设置鼠标移入移出事件<br><br>initDD( String group, Object config, Object overrides ) : Ext.dd.DD<br>initDDProxy( String group, Object config, Object overrides ) : Ext.dd.DDProxy<br>initDDTarget( String group, Object config, Object overrides ) : Ext.dd.DDTarget<br>这个要放到 Ext.dd去专门搞了,用于拖曳<br><br>insertAfter( Mixed el ) : Ext.Element<br>insertBefore( Mixed el ) : Ext.Element<br>insertFirst( Mixed/Object el ) : Ext.Element<br>在DOM中el元素之前之后...插入当前元素<br><br>insertHtml( String where, String html, Boolean returnEl )<br>插入html内容 where 可选beforeBegin, afterBegin, beforeEnd, afterEnd<br><br>insertSibling( Mixed/Object/Array el, [String where], [Boolean returnDom] ) :<br>插入或创建el做为当前元素的兄弟节点,where可选before/after,默认为before<br><br>is( String selector ) : Boolean<br>验证当前节点是否匹配简单选择器selector<br><br>isBorderBox()<br>测试不同的样式规则以决定当前元素是否使用一个有边框的盒子<br><br>isDisplayed() : Boolean<br>只要不是指定display属性none都会返回真<br><br>isMasked() : Boolean<br>仅有当前元素有mask并且可见时为真,mask译为蒙片?就是有些输入框没得到值之前会有一行模糊的提示的那种东西<br><br>isScrollable() : Boolean<br>可以滚动?<br><br>isVisible( [Boolean deep] ) : Boolean<br>可见?<br><br>last( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br>见first<br><br>load( String/Function url, [String/Object params], [Function callback], [Boolean discardUrl] ) : Ext.Element<br>直接应用当前updater的update方法<br><br>mask( [String msg], [String msgCls] ) : Element<br>为当前对象创建蒙片<br><br>move( String direction, Number distance, [Boolean/Object animate] ) : Ext.Element<br>相前元素相对于当前位置移动,<br>direction批示方向可能的值是"l","left" - "r","right" - "t","top","up" - "b","bottom","down".<br>distance,指示要移动的距离,以像素为单位<br><br>moveTo( Number x, Number y, [Boolean/Object animate] ) : Ext.Element<br>称动到指定的位置<br><br>next( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br>下一个符合selector的兄弟节点,<br><br>on( String eventName, Function fn, [Object scope], [Object options] ) : void<br>详见addListener<br><br>position( [String pos], [Number zIndex], [Number x], [Number y] ) : void<br>初始化当前元素的位置 pos可选择relative/absolute/fixed<br><br>prev( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement<br>前一个符合selector的兄弟节点<br><br>query( String selector ) : Array<br>通过样式选择器选择子节点<br><br>radioClass( String/Array className ) : Ext.Element<br>添加样式或样式数组到当前元素，并移除兄弟节点中的指定样式<br><br>relayEvent( String eventName, Object object ) : void<br>将当前元素的eventName事件同时转发给object对象<br><br>remove() : void<br>从当前DOM中删除元素,并从缓存中移除<br><br>removeAllListeners() : Ext.Element<br>移除所有的侦听者 <br><br>removeClass( String/Array className ) : Ext.Element<br>移除样式类<br><br>removeListener( String eventName, Function fn ) : Ext.Element<br>移除事件eventName的fn侦听器<br><br>repaint() : Ext.Element<br>强制浏览器重绘当前元素<br><br>replace( Mixed el ) : Ext.Element<br>用当前元素替换el<br><br>replaceClass( String oldClassName, String newClassName ) : Ext.Element<br>替换样式类<br><br>replaceWith( Mixed/Object el ) : Ext.Element<br>用el替换当前元素<br><br>scroll( String direction, Number distance, [Boolean/Object animate] ) : Boolean<br>滚动,scroll会保证元素不会越界,direction和distance参数见move<br><br>scrollIntoView( [Mixed container], [Boolean hscroll] ) : Ext.Element<br>滚动到container内的视图<br><br>scrollTo( String side, Number value, [Boolean/Object animate] ) : Element<br>基本与scroll方法相同,但不保证元素不越界<br><br>select( String selector, [Boolean unique] ) :<br>与query不同的是,通过样式选择器selector,select方法会返回一个复合元素对象(CompositeElement)或CompositeElementLite,<br><br>set( Object o, [Boolean useSet] ) : Ext.Element<br>设置属性，例<br>el.set({width:'200px',height:'200px'});<br><br>setBottom( String bottom ) : Ext.Element<br>setLeft( String left ) : Ext.Element<br>setRight( String right ) : Ext.Element<br>setTop( String top ) : Ext.Element<br>setLeftTop( String left, String top ) : Ext.Element<br>设置css 对象的属性值<br><br>setBounds( Number x, Number y, Number width, Number height, [Boolean/Object animate] ) : Ext.Element<br>马上改变当前元素的位置和尺寸<br><br>setBox( Object box, [Boolean adjust], [Boolean/Object animate] ) : Ext.Element<br>为当前元素设置一个盒子box:{x, y, width, height},adjust指示是否马上调整尺寸<br><br>setDisplayed( Boolean value ) : Ext.Element<br>设置可见性<br><br>setHeight( Number height, [Boolean/Object animate] ) : Ext.Element<br>setWidth( Number width, [Boolean/Object animate] ) : Ext.Element<br>setSize( Number width, Number height, [Boolean/Object animate] ) : Ext.Element<br>设置高度和宽度<br><br>setLocation( Number x, Number y, [Boolean/Object animate] ) : Ext.Element<br>设置当前元素相对于页面的横纵坐标<br><br>setOpacity( Float opacity, [Boolean/Object animate] ) : Ext.Element<br>设置透明度，opacity为1完全不透明,0完全透明<br><br>setPositioning( Object posCfg ) : Ext.Element<br>为当前元素指定位置信息,参数posCfg参见getPositioning说明<br><br>setRegion( Ext.lib.Region region, [Boolean/Object animate] ) : Ext.Element<br>为当前元素指定区域信息 region定义 见getRegion<br><br>setStyle( String/Object property, [String value] ) : Ext.Element<br>设置样式<br><br>setVisibilityMode( visMode Element.VISIBILITY ) : Ext.Element<br>指示是使用Element.VISIBILITY还是Element.DISPLAY属性来定义可见性<br><br>setVisible( Boolean visible, [Boolean/Object animate] ) : Ext.Element<br>设置可见性<br><br><br>setX( Number The, [Boolean/Object animate] ) : Ext.Element<br>setXY( Array pos, [Boolean/Object animate] ) : Ext.Element<br>setY( Number The, [Boolean/Object animate] ) : Ext.Element<br>设置当前元素相对于page的位置<br><br>show( [Boolean/Object animate] ) : Ext.Element<br>显示当前元素<br><br>swallowEvent( String eventName, [Boolean preventDefault] ) : Ext.Element<br>阻止eventName事件冒泡，并视preventDefault阻断默认行为<br><br>toggle( [Boolean/Object animate] ) : Ext.Element<br>切换元素的visibility 或display属性,依赖于setVisibilityMode设定的<br><br>toggleClass( String className ) : Ext.Element<br>如果样式名存在于当前元素对应的dom 节点，移除，反之应用<br><br>translatePoints( Number/Array x, Number y ) : Object<br>返回一个{left,top}结构<br><br>un( String eventName, Function fn ) : Ext.Element<br>解除事件侦听，参见&nbsp;&nbsp; removeListener<br><br>unclip() : Ext.Element<br>见clip;<br><br>unmask() : void<br>见mask;<br><br>unselectable(): Ext.Element<br>禁止文本选择<br><br>up( String selector, [Number/Mixed maxDepth] ) : Ext.Element<br>通过样式选择器selector选择祖先节点<br><br>update( String html, [Boolean loadScripts], Function callback ) : Ext.Element<br>利用html更新当前节点内容，loadScripts指示html中如果有script，是否需要运行,这是一个innerHTML的一个老老老问题了<br><br>wrap( [Object config], [Boolean returnDom] ) : HTMLElement/Element<br>用另一个元素config包含自己<img src ="http://www.phpweblog.net/susam119/aggbug/2496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-07 14:46 <a href="http://www.phpweblog.net/susam119/archive/2007/12/07/2496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>