• 代码重构四


    2014年3月2日 14:44:56

    哈哈,很开心。今天发现一个前辈插件的错误。

    前辈插件:http://jun-lu.github.io/Stip/doc/index.html

    介绍:

    Stip 适用于页面提示效果。兼容主流浏览器(ie,firefox,chrome,opera,Safari 等),不依赖其他框架,不使用图片(三角是用CSS做的)

    由于工作上需要表单提示和表单验证。 于是找啊找,找到前辈写的好东东。

    提示的插件很正常,错误的地方在表单验证 中

    最小值和最大值 无法正常判断。 费了很大功夫,我研究下了代码,找到了错误根源。才疏学浅,唉,蛋疼

    从上面url的下载的 Checkform.js 有问题

    minValue:function(str, min){
                        return tool.isFloat(str) ? parseFloat(str) >= min : false;
                    },
                    maxValue:function(str, max){
                        return tool.isFloat(str) ? parseFloat(str) <= max : false;
                    },
                    minLength:function(str, min){
    原代码

    这里的

    parseFloat使用不当

    应该换做

    parseInt

    错误原因:

    js中的var定义的变量默认是字符串,如果单纯的比较字符串的话,会出现错误,需要先转化为int类型在做比较。











    例如: 110和18在你写的程序中是18大的,因为 这两个数都是字符串,而1和1相等之后比较1和8,当然是8大,所以18大

     -----------------------

    2014年3月2日 15:06:48 我嚓,错误不止上面一个。

    逻辑上也存在错误。估计前辈是晕了。

    修改后正常 代码为:

    minValue:function(str, min){
    					return tool.isFloat(str) ? parseInt(str) >= min : str>=min;
    				},
    				maxValue:function(str, max){
    					return tool.isFloat(str) ? parseInt(str) <= max : str<=max;
    				},
    
    QQ:540045865 热爱生活,热爱编程。
  • 相关阅读:
    JDBC与JAVA数据库编程
    Java中的网络编程
    OracleDBA之表管理
    OracleDBA之用户管理
    OracleDBA之数据库管理
    Java中的多线程
    JavaSE高级之GUI编程
    JavaSE高级之集合类
    Java面向对象练习
    Java基本语法练习
  • 原文地址:https://www.cnblogs.com/jsRunner/p/3576791.html
Copyright © 2020-2023  润新知