javascript 建设银行登陆键盘_javascript技巧

复制代码 代码如下:

/******************************************************
//      *功能描述:把密码输入控件写入页面中
//      *参数说明:
//        inputCtlName:原控件名
//        
//        创建日期:2006-07-24
***************************************************** */
var InputControlAreaIndex=0;
var InputControlAreaPubKey='';
var InputControlAreaAccVer="115A7165-DE06-49B8-9850-15414C233E83:1009";
var InputControlAreaFlag="1";
var InputControlAreaAccVerFlag=false;
var InputControlAreaArray=new Array();
function InputControlArea(inputName,type){

    //初始化控件标签
    var input=document.all[inputName];    
    //初始化软键盘
    //this.initKeyBoard(input);
    //判断控件是否启用
    if(input==null||arguments.length!=2||(InputControlAreaFlag!=2&&InputControlAreaFlag!=3)){

        this.obj=false;        
        return ;        

    }
    //生成控件标签
    this.init("Sec."+inputName,inputName);    

    //取得有效控件
    var returnObject=this.getInputCtl(document.all["Sec."+inputName],type);    

    //显示有效控件
    this.obj=this.displayInput(returnObject,document.all[inputName]);    

    InputControlAreaArray[InputControlAreaArray.length]=this.obj;    

    
}

InputControlArea.prototype.initKeyBoard=function (input){

    if(InputControlAreaFlag==3||InputControlAreaFlag==1)
    {

        input.onkeydown=function (){

            Calc.password.value=this.value;            

        }
        input.onchange=function (){

            Calc.password.value=this.value;            

        }
        input.onclick=function (){

            password1=this;            
            showkeyboard();            
            this.readOnly=1;            
            Calc.password.value='';            

        }

    }else if(InputControlAreaFlag==2||InputControlAreaFlag==0)
    {

        input.onkeydown=null;        
        input.onchange=null;        
        input.onclick=null;        

    }

}

InputControlArea.prototype.init=function (inputCtlId,inputName){

    //在函数末尾追加的控件,先调用。
    function writeInputControl(clsid,id){

        //生成控件标签
        var classid="";        
        if(clsid!="")
        {

            classid=" classid='CLSID:"+clsid+"'";            

        }

        inputSpan+='<OBJECT '+classid+' id='+id+' VIEWASTEXT style="display:none" size="20" width="100" height="17">'+'</OBJECT>';        

    }
    var inputSpan=document.all[inputName].outerHTML+"<div id = '"+inputName+"Area' style = 'border:1px solid #69c;padding:0;vertical-align:top;width:148;height=17;display:none'>";    
    writeInputControl("",inputCtlId);
    //
    var strCtls=InputControlAreaAccVer.split(",");    
    for(var i=0;i<strCtls.length;++i)
    {

        writeInputControl(strCtls[i].split(":")[0],inputCtlId);
        //控件A

        
    }
    ///////////////////////////////////////////////////////////////////////
    inputSpan+='<img id='+inputCtlId+"img"+' SRC="images/icon_small_hand.gif" ALT="已使用密码输入控件,方便您的密码输入!" width=16 height=17 style = "vertical-align:top;display:none" ></img>';    
    inputSpan+="</div>";    
    document.all[inputName].outerHTML=inputSpan;    

}

InputControlArea.prototype.displayInput=function (returnObj,input){

    //控件有效
    if(returnObj.classid!="")
    {

        input.style.display="none";        
        returnObj.style.display="";        
        document.all[returnObj.id+"img"].style.display="";        
        document.all[input.name+"Area"].style.display="inline";        
        returnObj.onblur=function (){

            //判断离开焦点时的处理是否存在
            if(input.onblur)
            {

                input.onblur.call();                

            }
            //设置密码
            //input.value = returnObj.GetPassword(InputControlAreaPubKey);
            //returnObj.length = returnObj.GetLength();

        }
        returnObj.onDoSubmit=function (){

            input.value=returnObj.GetPassword(InputControlAreaPubKey);            
            returnObj.length=returnObj.GetLength();            

        }

        if(InputControlAreaPubKey=='')
        {

            initOnSubmit();            
            InputControlAreaPubKey=returnObj.GetPubKey(InputControlAreaPubKey);            

        }
        returnObj.SetFunName(input.name);        

    }else {

        //控件无效
        input.style.display="";        
        returnObj=false;        
        if((window.location.toString ()).indexOf("LOGIN")==-1)
        {

            return ;            

        }
        var warning;        
        if(InputControlAreaAccVerFlag)
        {

            warning="您的密码输入控件版本无效,是否安装新版本?";            

        }
        else 
        {

            warning="您未安装密码输入控件,是否安装?";            

        }

        
        var SetUpFlag=this.GetCookie("SetUpFlag");        
        var returnFlg=this.GetCookie("returnFlg");        
        if(returnFlg=="1")
        {

            this.SetCookie("returnFlg","0");            
            return ;            

        }
        if(SetUpFlag!="0"||SetUpFlag==null)
        {

            this.SetCookie("SetUpFlag","1");            
            top.location="/app/B2CMainPlatV5?CCB_IBSVersion=V5&CUSTYPE=0&TXCODE=801002";            

        }

        
    }
    //返回有效控件
    return returnObj;    

}

InputControlArea.prototype.getInputCtl=function (inputCtls,type){

    var validSE=0;    

    for(var i=inputCtls.length-1;i>=1;i--){

        try{

            if(InputControlAreaAccVer.indexOf(inputCtls[i].GetVersion())==-1){

                InputControlAreaAccVerFlag=true;                
                continue;                

            }
            inputCtls[i].SetCryptFlag(type);            
            validSE=i;            
            break;            

        }catch(e){

            //continue;

        }
        try{

            inputCtls[i].GetStrMsg();            
            validSE=i;            
            break;            

        }catch(e){

            continue;            

        }

    }
    InputControlAreaIndex=validSE;    
    return inputCtls[validSE];    

}

function callOnBlurByName(inputCtlName){

    document.all["Sec."+inputCtlName][InputControlAreaIndex].onblur.call();    

}

InputControlArea.prototype.SetCookie=function (sName,sValue)
{

    document.cookie=sName+"="+escape(sValue)+"; expires=Fri, 31 Dec 2999 23:59:59 GMT;";    

}

// Retrieve the value of the cookie with the specified name.
InputControlArea.prototype.GetCookie=function GetCookie(sName)
{

    // cookies are separated by semicolons
    var aCookie=document.cookie.split(";");    
    for(var i=0;i<aCookie.length;i++)
    {

        // a name/value pair (a crumb) is separated by an equal sign
        var aCrumb=aCookie[i].split("=");        
        if(aCrumb[0].indexOf(sName)!=-1){

            return unescape(aCrumb[1]);            

        }

    }
    // a cookie with the requested name does not exist
    return null;    

}

function initOnSubmit(){

    
    for(var i=0;i<document.forms.length;i++){

        var submitHandler=document.forms[i].onsubmit;        

        if(submitHandler){

            document.forms[i].onsubmit=function (){

                initPassWord();                
                return submitHandler.call();                

            }

        }

        
    }

}

function initPassWord(){

    for(var i=0;i<InputControlAreaArray.length;i++){

        if(InputControlAreaArray[i]!=null&&InputControlAreaArray[i].onDoSubmit!=null)
        {

            InputControlAreaArray[i].onDoSubmit.call();            

        }

    }

}

在线演示
打包文件下载

时间: 2024-09-17 04:23:47

javascript 建设银行登陆键盘_javascript技巧的相关文章

javascript 异常处理使用总结_javascript技巧

JavaScript中的异常可以用try..catch..finally语句来处理,也可以手动的来抛出异常. 1.使用try..catch..finally语句来处理异常 js代码在执行过程中如果出现异常,会手动创建一个异常类对象,该异常类对象将被提交给浏览器,这个过程称为"抛出异常".当浏览器接收到一场对象时,会寻找能处理这一异常的代码并把当前异常对象提交给其处理,这一过程被称为"捕获异常".try..catch..finally语句的基本语法格式为: 复制代码

web性能优化之javascript性能调优_javascript技巧

JavaScript 是一个比较完善的前端开发语言,在现今的 web 开发中应用非常广泛,尤其是对 Web 2.0 的应用.随着 Web 2.0 越来越流行的今天,我们会发现:在我们的 web 应用项目中,会有大量的 JavaScript 代码,并且以后会越来越多.JavaScript 作为一个解释执行的语言,以及它的单线程机制,决定了性能问题是 JavaScript 的软肋,也是 web 软件工程师们在写 JavaScript 需要高度重视的一个问题,尤其是针对 Web 2.0 的应用.绝大多

纯javascript实现自动发送邮件_javascript技巧

描述: 此JavaScript将帮助你的电子邮件的人.只要按一下电子邮件,有人!和JavaScript会要求的电子邮件地址,主题,等等然后你,新的邮件,是向你打开了. <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function mailsome1(){ who=prompt("Enter recipient's email address: ","antispammer@earthling.net

js仿腾讯QQ的web登陆界面_javascript技巧

用了腾讯QQ也有将近十年了,今天心血来潮想模仿腾讯QQ的登陆面板做一个web版的登陆面板,然后参考了一些代码,自己模仿,学写了一个.  效果如下:  其中还实现了拖动面板,选择状态的效果 下面是具体代码: 1.index.html  <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>拖动</title> <link href

JavaScript 性能优化小结_javascript技巧

随着 Web2.0 技术的不断推广,越来越多的应用使用 JavaScript 技术在客户端进行处理,从而使 JavaScript 在浏览器中的性能成为开发者所面临的最重要的可用性问题.而这个问题又因 JavaScript 的阻塞特性变的复杂,也就是说当浏览器在执行 JavaScript 代码时,不能同时做其他任何事情.本文详细介绍了如何正确的加载和执行 JavaScript 代码,从而提高其在浏览器中的性能. 在J2EE编程中,我们接触最多的脚本语言还是JavaScript.在使用JavaScr

JavaScript事件用法浅析_javascript技巧

本文实例讲述了JavaScript事件用法.分享给大家供大家参考,具体如下: JavaScript通过事件与HTML交互. 事件流 事件流规定了事件的触发规则和顺序.DOM2规定了事件流包括三个阶段:事件捕获 -> 目标触发除 -> 事件冒泡.DOM2规定在事件捕获阶段不应调用事件处理程序,不过各大浏览器都不鸟它.DOM2级的事件处理程序操作函数对:addEventListener和removeEventListener的第三个参数则把这种事变成了DIY,这是一种妥协,同时让初学者认为dom的

最佳的JavaScript错误处理实践_javascript技巧

不管你的技术水平如何,错误或异常是应用程序开发者生活的一部分.Web开发的不连贯性留下了许多错误能够发生并确实已经发生的地方.解决的关键在于处理任何不可预见的(或可预见的错误),来控制用户的体验.利用JavaScript,就有多种技术和语言特色可以用来正确地解决任何问题. 在 JavaScript 中处理错误很危险.如果你相信墨菲定律,会出错的终究会出错!在这篇文章中,我会深入研究 JavaScript 中的错误处理.我会涉及到一些陷阱和好的实践.最后我们会讨论异步代码处理和 Ajax. 我认为

利用函数的惰性载入提高javascript代码执行效率_javascript技巧

在 javascript 代码中,因为各浏览器之间的行为的差异,我们经常会在函数中包含了大量的 if 语句,以检查浏览器特性,解决不同浏览器的兼容问题. 例如,我们最常见的为 dom 节点添加事件的函数: 复制代码 代码如下: function addEvent (type, element, fun) { if (element.addEventListener) { element.addEventListener(type, fun, false); } else if(element.a

Javascript实现计算个人所得税_javascript技巧

TABLE {     BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium none; PADDING-TOP: 0px; CSS: BORDER-BOTTOM: medium none } TD {     BORDER-RIGHT: medium none;