JS返回值把 数字型的字符串前面的0去掉了!!
程序员文章站
2022-07-03 10:39:16
...
今天做web开发时遇到两个问题 最后发现其实是一个原因造成的。
问题背景:
页面A 在光标进入输入框时弹出窗口,在窗口中输入值搜寻 获取一列数值显示在窗口里,然后选择其中一个数值返回到页面A对应的输入框中。
弹出框用window.showModalDialog()的方式;
后采用ajax查询后台数据,通过addrow插入标签和数据到窗口中,选择相应的值通过
window.returnValue=选中的值;返回给页面A。
在选择返回值返回给页面A时,发现问题:1,数值型字符串如 000000123 只返回123;
2,某些返回字符串根本就不是原有数据, 如本来应该返回000123,填充到页面A时可能变成2443243435;
经过firebug对比发现之前动作都没有问题,只是在返回时出错。
后经查询
处理
<button onclick="select('返回值')">选择</button>
在返回值外面加单引号 表示其为字符串即解决问题。 不再自动去除前面的0,错乱数字返回的情况也消失。
问题产生原因推测:由于js对数据类型没有一个具体的声明,传入的数值有可能被其默认当中数字 而将多余的0给自动去除了。
问题背景:
页面A 在光标进入输入框时弹出窗口,在窗口中输入值搜寻 获取一列数值显示在窗口里,然后选择其中一个数值返回到页面A对应的输入框中。
弹出框用window.showModalDialog()的方式;
后采用ajax查询后台数据,通过addrow插入标签和数据到窗口中,选择相应的值通过
window.returnValue=选中的值;返回给页面A。
在选择返回值返回给页面A时,发现问题:1,数值型字符串如 000000123 只返回123;
2,某些返回字符串根本就不是原有数据, 如本来应该返回000123,填充到页面A时可能变成2443243435;
经过firebug对比发现之前动作都没有问题,只是在返回时出错。
后经查询
处理
<button onclick="select('返回值')">选择</button>
在返回值外面加单引号 表示其为字符串即解决问题。 不再自动去除前面的0,错乱数字返回的情况也消失。
问题产生原因推测:由于js对数据类型没有一个具体的声明,传入的数值有可能被其默认当中数字 而将多余的0给自动去除了。