⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validatecode.js

📁 ajax+md5实现网站登陆注册模块源代码
💻 JS
字号:
// JScript 文件
var d;
CheckValCode = Class.create();

CheckValCode.prototype = {

   initialize: function(anId, url, options) //TextSuggest的构造函数
   {                       
      this.id          = anId;
      var browser = navigator.userAgent.toLowerCase();
      this.isIE        = browser.indexOf("msie") != -1;              //判断客户端浏览器的类型   
      this.isOpera     = browser.indexOf("opera")!= -1;
      this.textInput   = $(this.id);
      this.suggestions = [];                                          //建立个数组
      this.setOptions(options);                                      //用于给options增加属性,并赋默认值           
      this.initAjax(url);

      this.injectSuggestBehavior();
       
   },
   setOptions: function(options) {                          //给this.options添加属性并赋默认值,并用options的值来覆盖相关的值
         this.options = 
         {
         }.extend(options || {});
   },
   initAjax: function(url) {
      ajaxEngine.registerRequest( this.id + '_request', url );
      ajaxEngine.registerAjaxObject( this.id + '_updater', this );
       },
      
  injectSuggestBehavior: function() {
 
      if ( this.isIE )
         this.textInput.autocomplete = "off";
          
      var keyEventHandler = new CheckValKeyHandler(this);  //给text添加事件的功能代理类
        },

   sendRequestForSuggestions: function() {
 
     this.callRicoAjaxEngine();                              //发送ajax请求
     
   },
   callRicoAjaxEngine: function() {
      var callParms = [];       
      callParms.push( this.id + '_request');
      callParms.push('id='+this.id);
      
      callParms.push('key='+this.textInput.value);
      var additionalParms = this.options.requestParameters || [];     //注意requestParameters是Rico筐架提供 的,就是在options中赋值,但在this,options中没有的属性
      for( var i=0 ; i < additionalParms.length ; i++ )
         callParms.push(additionalParms[i]);
        
      ajaxEngine.sendRequest.apply( ajaxEngine, callParms );           //调用ajax请求,用了Rico的框架
   },
   //把服务器返回的内容赋给一个数组
   createSuggestions: function(ajaxResponse) 
   {                     
      this.suggestions = [];
      var entries = ajaxResponse.getElementsByTagName('entry');
     
      var strText  = entries[0].text;
      this.suggestions.push( strText );
     
   },
   ajaxUpdate: function( ajaxResponse ) {                              //ajax的回凋方法                     
    this.createSuggestions( ajaxResponse );
    d=this.suggestions[0];
    if(this.suggestions[0]=='true')
    $( this.options.valDivId).innerHTML="<p><font color='green'>验证码正确</font></p>";
    else
    $( this.options.valDivId).innerHTML="<p><font color='red'>验证码错误</font></p>";
     
   }
   
   };



//事件代理功能类

CheckValKeyHandler = Class.create();

CheckValKeyHandler.prototype = {

   initialize: function( textSuggest ) {
      this.textSuggest = textSuggest;
      this.input       = this.textSuggest.textInput;    //input为text文本对象的 引用
      this.addKeyHandling();                            //添加按键处理事件
   
   },
  
   addKeyHandling: function() {                         //添加按键处理事件的方法 
       
      this.input.onblur     = this.onblurHandler.bindAsEventListener(this);
      
     1   },

   onblurHandler: function(e) {                       //失去焦点的事件
     
     this.textSuggest.sendRequestForSuggestions(); 
     
   }

};



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -