我在IE 9和10中遇到错误。错误是"无法获取属性'替换'未定义或空引用"。如果我们要相信Microsoft的错误,它会报告错误发生在以下函数的value.replace行上:
function jsstrtonum($value) {
if($value == '') {
$value = '0.00';
}
var $retval = $value.replace(/[^0-9\.]+/g, '');
return Number($retval);
}
我只是在IE中遇到困难。所有其他浏览器完美地执行此功能。我一直在努力工作几个小时。任何帮助将不胜感激。
答案 0 :(得分:0)
试
$value = new String($value);
在使用'replace'之前。
答案 1 :(得分:0)
正如Rocket Hazmat建议的那样,问题很可能是$ value不是字符串。您可以使用一种快速而肮脏的方法来调试它是什么:
function jsstrtonum($value) {
if (!$value.replace) {
alert($value);
// Alternatively if the IE developer tool gives you a console you could:
// console.log($value);
}
}
通过这种方式,您可以看到$value
是什么,并希望从那里调试您的问题。
答案 2 :(得分:0)
也可以用以下内容替换条件:
if (!$value)
这样所有的空值和未定义的值都变成了0.00字符串。