本文目录一览:
js 代码哪里出错了?
js自上而下运行
你js在上面引用的话,js会先加载,加载的时候html还没渲染完毕,所以你获取到的元素是null,null获取value自然就报错了。你把js放在所有节点后面/body前面就可以了。注意一定要放在/body前面,因为IE内核的浏览器,执行/body外面的js脚本是会报错的。
请JS高手帮我看看我这个代码有没有错,谢谢
你给出的代码中:
Timestable函数未定义
xieshibiao定义后位使用
JS代码问题,总是提示网页中有错误, 'className' 为空或不是对象
检查了下你的js 是没问题的
你自己alert弹框试试你传上来的值是不是正确的
js代码哪里有错
代码错误有三个地方:
1 var ch3 应改为 var ch3 = "",就是定义 ch3 时,定义为一个空字符串
2 if 条件语句最后 else 里边 ch2_1 += '00' 应改为 ch2_1 = ch2 + '00'
3 for 循环里边 ch3 = ... 应改为 ch3 += ... '...'表示的是后面那一串
修改后的代码是
var ch = ["千", "百", "拾", "亿", "千", "百", "拾", "万", "千", "百", "拾", "元", "角", "分"];
var ch1 = '零壹贰叁肆伍陆柒捌玖';
var ch2_1;
var ch3 = '';
var ch2 = document.getElementById("a").value;
var a = /(\.[0-9])$/;
var a1 = /(\.[0-9][0-9])$/;
if (a1.test(ch2)) {
ch2_1 = ch2.replace(/\./, '');
} else if (a.test(ch2)) {
ch2_1 = ch2.replace(/\./, '');
ch2_1 += '0';
} else {
ch2_1 = ch2 + '00';
}
var ch2_2 = ch2_1.length;
var ch_1 = ch.slice(-ch2_2);
for (var ad = 0; ad ch2_1.length; ad++) {
ch3 += ch1.charAt(parseInt(ch2_1.substr(ad, 1))) + ch_1[ad];
}
var ch4 = ch3.replace(/零(千|百|拾|角)/g, '零');
ch4 = ch3.replace(/零角零分/, '整');
alert('中文货币', '+ch4');
------------------------
代码命名可以规范一下,20几行代码,出现了10个变量,正则
var a = /(\.[0-9])$/; --- var a = /\.\d$/;
var a1 = /(\.[0-9][0-9])$/; ---- var a1 = /\.\d{2}$/;
能简单就简单呗。