首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Jquery 文本框 调用方法有关问题

2012-01-19 
Jquery 文本框 调用方法问题HTML code01.(function($){02.$.fn.onlyAllowEnter function(settings){03.

Jquery 文本框 调用方法问题

HTML code
01.;(function($){     02.     $.fn.onlyAllowEnter = function(settings){  03.         options = $.extend({}, $.fn.onlyAllowEnter.defaults, settings);  04.         if(this.length == 0){  05.                debug('Selector invalid or missing!');  06.                return ;  07.           }else if(this.length > 1){  08.             return this.each(function() {  09.               $.fn.onlyAllowEnter.apply($(this), [settings]);  10.             });  11.          }  12.           13.         switch(options['type']){  14.             case 'num':  15.                 $(this).unbind('keydown').keydown(allowEnterNumber);  16.                break;  17.             case 'ch':               18.                $(this).unbind('keydown').keydown(allowEnterChar);  19.                break;  20.             case 'numch':  21.                $(this).unbind('keydown').keydown(allowEnterNumberOrChar);  22.                break;  23.             case 'zto':  24.                $(this).unbind('keydown').keydown(allowEnterNumberZero2One);  25.                break;  26.             case 'fnum':  27.                $(this).unbind('keydown').keydown(allowEnterFloat);  28.                break;  29.             default:  30.                return;  31.         }  32.           33.     };  34.      35.      36.     function debug(message){  37.         if(!window.console){  38.             window.console = {};  39.             window.console.log = function(){  40.                return;  41.             }  42.         }  43.         window.console.log(message + ' ');       44.     };  45.        46.     /** 47.      * 设置文本框输入限制的默认配置 48.      *  type: 文本框只能输入的类型,合法的值有: 49.      *          num: 只允许是数字,ch: 只能是字母,numch: 数字或字母,zto: 0-1值浮点数,fnum: 浮点数 50.      *  len: 允许输入的最大个数 51.      *  intLen: 当为浮点数时允许的整数的最大位数, 默认为:0 不限制,如果为zto是此属性无作用 52.      *  flatLen: 当为浮点数时允许的小数部分的最大位数。 53.      */  54.     $.fn.onlyAllowEnter.defaults = {  55.             'type': '',  56.             'len': 0,  57.             'intLen': 0,  58.             'flatLen': 0     59.     };  60.       61.      /** 62.       * 方法说明 63.       *      只允许某个文本框中输入0~1之间的数值。当用户输入数值时, 64.       *    会自动在输入的数值前面添加'0.'; 65.       * 参数说明: 66.       *     @param element input文本框对象 67.       * 使用方式: 68.       *     为指定的文本框绑定onKeyDown事件, 69.       */  70.     function allowEnterNumberZero2One(){  71.         var keyCode = event.keyCode;  72.         var _val = $(this).val();  73.         if(_val == '' || !(/^0\./).test(_val)){  74.            $(this).val('0.');  75.         }  76.         if(!onlyNumber(keyCode)){  77.            return false;  78.         }  79.        var len = options['flatLen'];  80.        _val = $(this).val().substring(2);  81.        debug(_val);  82.        if(len != undefined && len != 0 && _val.length >= len && isBackspace(keyCode)){  83.           return false;  84.        }         85.        return true;  86.     };  87.       88.     /**  89.      * 方法说明: 90.      *     判断输入的数值是否为数字、删除、退格、左移或右移键 91.      * 参数说明: 92.      *  @param keyCode 输入的键盘的键值 93.      */  94.     function onlyNumber(keyCode){  95.         if(isBackspace(keyCode) && (keyCode > 57 || keyCode < 48)){  96.             return false;  97.         }  98.         return true;  99.     };  100.       101.     function isBackspace(keyCode){   102.        return keyCode != 8 && keyCode != 46 && keyCode != 37 && keyCode != 39;  103.     }  104.       105.     /** 106.      * 方法说明: 107.      *   设置一个文本框中可以输入数值或浮点数。 108.      * 参数说明: 109.      *   @param element input文本框对象 110.      * 使用方式 111.      *   为指定的文本框绑定onKeyDown事件 112.      */  113.     function allowEnterFloat(){  114.        var keyCode = event.keyCode;  115.        var _val = $(this).val();  116.        if(keyCode == 190){  117.           if(_val == ''){  118.              $(this).val('0');  119.           }else if(_val.indexOf('.') != -1){  120.              return false;  121.           }  122.        }  123.        var ilen = options['intLen'];  124.        var flen = options['flatLen'];  125.        return  onlyNumber(keyCode) || keyCode == 190;  126.     };  127.        128.      /** 129.       * 方法说明: 130.       *   设置一个文本框中只能输入字母 131.       * 参数说明: 132.       *   @param {HTMLObject} element input元素对象 133.       *   @param {Number} len 文本框中允许输入的字母个数,如果为空则为不限制 134.       */       135.    function  allowEnterChar(){  136.        var keyCode = event.keyCode;  137.        if(isBackspace(keyCode) && (keyCode < 65 || keyCode > 90)){  138.           return false;  139.        }  140.          141.        var len = options['len'];  142.        var val = $(this).val();  143.        if(len != undefined  && len != 0 && (val.length >= len) && isBackspace(keyCode)){  144.           return false;  145.        }  146.        return true;  147.    };  148.      149.    /** 150.     * 方法说明: 151.     *    设置某个文本框中只能输入数字 152.     * 方法说明: 153.     *    @param {HTMLObject} element input元素对象 154.     *    @param {Number} len 允许输入的数字的个数,当没指定时为无限制  155.     */  156.    function allowEnterNumber(){  157.        var keyCode = event.keyCode;  158.         if(!onlyNumber(keyCode)){  159.            return false;  160.         }  161.         var _val = $(this).val();  162.         var len = options['len'];  163.         if(len != undefined && len != 0 && (_val.length >= len) && isBackspace(keyCode)){  164.             return false;  165.         }  166.         return true;  167.    };  168.      169.    /** 170.     * 方法说明: 171.     *    设置一个文本框只能输入数字或字母 172.     * 参数说明: 173.     *    @param {HTMLObject} element  input文本框对象 174.     *    @param {Number} len 允许输入的字母或字母的最大数量 175.     */  176.    function allowEnterNumberOrChar(){  177.        return allowEnterChar() || allowEnterNumber();  178.    }     179.})(jQuery);   



<asp:TextBox ID="txt1" runat="server" Width="70%"></asp:TextBox>
怎么使用上面的方法 控制 TextBox 只能输入字母

求个调用写法!

[解决办法]
$(function() {
$("#txt1").onlyAllowEnter({'type':'ch'});
});
[解决办法]
/** 
* 设置文本框输入限制的默认配置 
* type: 文本框只能输入的类型,合法的值有: 
* num: 只允许是数字,ch: 只能是字母,numch: 数字或字母,zto: 0-1值浮点数,fnum: 浮点数 
* len: 允许输入的最大个数 
* intLen: 当为浮点数时允许的整数的最大位数, 默认为:0 不限制,如果为zto是此属性无作用 
* flatLen: 当为浮点数时允许的小数部分的最大位数。 
*/ 
$.fn.onlyAllowEnter.defaults = {
'type': '',
'len': 0,
'intLen': 0,
'flatLen': 0
}; 
----------------------------------
<script>
$(function(){
$('#<%=txt1.ClientID%>').onlyAllowEnter({type:'ch'});
});
</script>

热点排行