js精度溢出解决方案_javascript技巧

一般参数值不能超过16位。如果超出16都是用0替代,导致我们查询不到自己想要的结果。
遇到此问题我们做如下修改
自己写属性
原始的:

复制代码 代码如下:

<a href="javascript:void(0)" onclick="toProject(<%=dr.getString("XFORM_ID"),<%=dr.getString("MODULE_ID")%>,<%=dr.getString("ID")%>)"><%=dr.getString("BT").trim()+"" %></a>

上面取出XFORM_ID,MODULE_ID,ID值的长度超过16

改过后的:

复制代码 代码如下:

<a href="javascript:void(0)" tagFid="<%=dr.getString("XFORM_ID")%>" tagMid="<%=dr.getString("MODULE_ID")%>" tagIid="<%=dr.getString("ID")%>" onclick="toProject(this)"><%=dr.getString("BT").trim()+"" %></a>

复制代码 代码如下:

toProject = function(e)
{
location.href="<%=path%>/form/"+e.tagFid+".xform?moduleId="+e.tagMid+"&Info_ID="+e.tagIid;
}

处理乱码

复制代码 代码如下:

window.open(encodeURI(url),'_blank');

时间: 2025-01-03 07:54:37

js精度溢出解决方案_javascript技巧的相关文章

详解js跨域原理以及2种解决方案_javascript技巧

1.什么是跨域 我们经常会在页面上使用ajax请求访问其他服务器的数据,此时,客户端会出现跨域问题. 跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来源指的是主机名.协议和端口号的组合. 例如: 2.实现原理 在HTML DOM中,Script标签是可以跨域访问服务器上的数据的.因此,可以指定script的src属性为跨域的url,从而实现跨域访问. 例如: 这种访问方式是不行的.但是如下方式,

利用JS实现数字增长_javascript技巧

上次在项目中碰到要实现数字增长的效果,实现数字从0到目标数的增长,来看看效果图 现在把它扩展开来可以实现不同效果 主要思路就两部分     1.每隔三个数字之间加上,     2.实现动起来 对于1使用正则来完成十分的方便 this.fomatNum = function(num) { var str = num.toFixed(this.option.decimal);//精确到小数位数多少位 var num1, x1, x2, reg; arr = str.split(".");

易被忽视的js事件问题总结_javascript技巧

一.跨平台事件 什么叫跨平台事件?即在不同的浏览器上执行同一事件,所使用的方法不同. 什么是EventUtil对象?有什么作用?即将所有与事件相关的函数,融合在一起的一个容器,方便管理事件对象,它没有属性.主要处理DOM事件和IE事件的磨合,使其尽可能的相似. 下面我们来看一下DOM和IE之间的对象属性和方法做个对比(这里只指出两者之间不同的属性和方法),主要有以下五大点:DOM属性和方法   IE属性和方法 charcode               keycode preventDefau

js toFixed()方法的重写实现精度的统一_javascript技巧

但凡用过js 中的toFix() 方法的, 应该都知道这个方法存在一个小小的BUG. 在IE 下和FF 下对于小数的进位有点不同. 例如( 0.005)在ie 下 toFix(2)=0.00. 在FF 下 toFix(2)=0.01. 这样就会造成数据的差异. 我们可以通过 重写 这个方法来实现精度的统一. 复制代码 代码如下: Number.prototype.toFixed = function(s) { return (parseInt(this * Math.pow( 10, s ) +

JS动态计算移动端rem的解决方案_javascript技巧

在做移动端web app的时候,众所周知,移动设备分辨率五花八门,虽然我们可以通过CSS3的media query来实现适配,例如下面这样: html { font-size : 20px; } @media only screen and (min-width: 401px){ html { font-size: 25px !important; } } @media only screen and (min-width: 428px){ html { font-size: 26.75px !

引用外部js乱码问题分析及解决方案_javascript技巧

在web开发中我们一般都会不可避免的使用js.我们可以将js代码直接放在页面中即通过内部使用js.但是为了给页面良好的"瘦身"我们一般都会将js代码放在外部,然后通过src引用.这个时候我们就需要注意一个问题:编码问题.如果web页面也js采用不同编码,这个时候就会出现乱码.(内部使用js不需要注意编码问题,因为他们采用的是同一种编码) 对于大多数的web页面,我们一般都是使用如下两种编码:UTF-8.GB2312.所以我们只需要同意页面和js编码就可以解决乱码问题: 对于GBK页面引

JS中setInterval、setTimeout不能传递带参数的函数的解决方案_javascript技巧

在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数, 这就需要想方法解决. 一.采用字符串形式:--(缺陷)参数不能被周期性改变 setInterval("foo(id)",1000); 二.匿名函数包装 (推荐) 复制代码 代码如下: window.setInterval(function() { foo (id); }, 1000); 这样就可以周期性执行foo(id)这个函数,而且把变量id传递进去: 三

js父窗口关闭时子窗口随之关闭完美解决方案_javascript技巧

最近,遇到一个权限管理的系统.由于权限管理的系统和本来的系统风格不一致,所有新打开一个窗口.问题就来了,admin注销之后,权限管理的窗口没有关闭.其他普通用户登录以后,仍然可以操作权限管理的窗口. 问题简化:admin注销的时候,或者main.html关闭的时候,打开的所有新窗口一起关闭.问题就解决了 直接看代码吧: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "h

JS函数重载的解决方案_javascript技巧

在面向对象的编程中,很多语言都支持函数重载,能根据函数传递的不同个数.类型的参数来做不同的操作,JS对它却不支持,需要我们额外做些小动作. 在JS的函数执行上下文中有一个名为arguments的有意思的变量,它以数组的形式存储了函数执行时传递过来的所有参数,即使函数定义没有定义这 么多个形参.还有一个特别之处就是跟Array类型相比,arguments变量有且只有一个length属性,Array的方法,例如push.pop 等,它并不具备,它只是一个"伪数组":具有length属性,存