代码重构四
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 我嚓,错误不止上面一个。
逻辑上也存在错误。估计前辈是晕了。
修改后正常 代码为:
1 2 3 4 5 6 | 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
热爱生活,热爱编程。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步