我的验证码在所有浏览器中都运行正常,但它在ie7中显示错误。
这是小提琴:http://jsfiddle.net/KMupW/4/
这是我的代码:
function randomString(length, chars) {
var result = '';
for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
return result;
}
var code= randomString(5,'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
document.getElementById("txtCaptcha").value = code;
document.getElementById("txtCaptchaDiv").innerHTML = code;
答案 0 :(得分:2)
result += chars[index];
问题出在这里,Internet Explorer不支持像数组这样的字符串操作,你应该写这个:
result += chars.charAt(index);
所以这条线最终应该是:
result += chars.charAt(Math.round(Math.random() * (chars.length - 1)));