function fkeyUp(ob) {
ob.ivalue = fmoney2(ob.value,2);
}
说明:ivalue 是我自定义的一个属性,用于存放转换格式后的值,在调用fmoney2时提示对像不存在。
经测试,函数fmoney2中第一句alert(100);都不执行,请高手给予指教。不过以上情况是在IE6的情况下会有,IE8下完全正常。下面这个函数是在一个专门的js文件中,上面代友前已引用此文件。
/*
将ss转换成小数位为n的金额,并以,号分隔
*/
function fmoney2(ss, n) {
alert(100); if (ss != "") {
if (!($.isNumeric(ss)))
ss = RemoveDH(ss); if ($.isNumeric(ss)) {
var s0 = Math.abs(ss).toString().replace(".", "");
var s1 = s0.substring(0, s0.length - n);
var s2 = s0.substr(s0.length - n); var s = "";
var arr = s1.split("").reverse();
for (var i = 0; i < arr.length; i++) {
s += arr[i] + ((i + 1) % 3 == 0 && (i + 1) != arr.length ? "," : "");
}
if (ss >= 0)
s = s.split("").reverse().join("") + "." + s2;
else
s = "-" + s.split("").reverse().join("") + "." + s2; alert("return: " + s);
return s;
}
else {
if (ss == "-")
return ss;
else {
alert(1);
return " ";
}
}
}
else {
alert(2);
return " ";
}
}
ob.ivalue = fmoney2(ob.value,2);
}
说明:ivalue 是我自定义的一个属性,用于存放转换格式后的值,在调用fmoney2时提示对像不存在。
经测试,函数fmoney2中第一句alert(100);都不执行,请高手给予指教。不过以上情况是在IE6的情况下会有,IE8下完全正常。下面这个函数是在一个专门的js文件中,上面代友前已引用此文件。
/*
将ss转换成小数位为n的金额,并以,号分隔
*/
function fmoney2(ss, n) {
alert(100); if (ss != "") {
if (!($.isNumeric(ss)))
ss = RemoveDH(ss); if ($.isNumeric(ss)) {
var s0 = Math.abs(ss).toString().replace(".", "");
var s1 = s0.substring(0, s0.length - n);
var s2 = s0.substr(s0.length - n); var s = "";
var arr = s1.split("").reverse();
for (var i = 0; i < arr.length; i++) {
s += arr[i] + ((i + 1) % 3 == 0 && (i + 1) != arr.length ? "," : "");
}
if (ss >= 0)
s = s.split("").reverse().join("") + "." + s2;
else
s = "-" + s.split("").reverse().join("") + "." + s2; alert("return: " + s);
return s;
}
else {
if (ss == "-")
return ss;
else {
alert(1);
return " ";
}
}
}
else {
alert(2);
return " ";
}
}
ob.ivalue = fmoney2(ob.value,2);
}
首先你要确认ob是否存在,如果存在是不是对象,自定义属性的话,用setAttribute或getAttribute来设置和读取。不然肯定存在兼容问题。