📄 validatecode.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 + -