var ids1;//objects id1
var ids2;//objects id2
var infos;//input information
var errs;//error information
function arrInit(){
ids1 = new Array();
ids2 = new Array();
infos = new Array();
errs = new Array();
ids1[1] = "username";
ids1[2] = "password1";
ids1[3] = "password2";
ids1[4] = "rename";
ids1[5] = "cid";
ids1[6] = "email";
ids1[7] = "phone";
ids1[8] = "vcode";
for (var i = 1; i < 9; i++) {
ids2[i] = "msg" + i;
};
errs[1] = "用户名格式错误";
errs[2] = "请输入密码";
errs[3] = "两次密码输入不一致";
errs[4] = "请输入真实姓名";
errs[5] = "无效的身份证";
errs[6] = "无效的邮箱";
errs[7] = "无效的手机号";
errs[8] = "请输入验证码";
infos[1] = "用户名长度6-20位字符,由字母、组成,长度不超过20个英文。";
infos[2] = "密码长度6-20位字符,最少包含一个字母。";
infos[3] = "请再次输入您的账户密码";
infos[4] = "请填写与注册身份证一致的姓名";
infos[5] = "请填写真实有效的身份证";
infos[6] = "此邮箱用于取回和修改密码,请填写真实有效的邮箱";
infos[7] = "请填写有效的手机号";
}function eventBind(){
arrInit();
for (var i = 1; i < 9; i++) {
bind(ids1[i], "focus", function(){
alert(ids1[1]);
showMsg(ids2[i], infos[i]);
});
};
}function bind(id, type, func){
if (typeof id == "string") {
var obj = $(id);
if (obj != null) {
if (window.attachEvent) {
obj.attachEvent("on" + type, func);
}
else {
obj.addEventListener(type, func, false);
}
}
}
}function showMsg(id, value){
setHTML(id, value);
}
//当发生focus事件调用showMsg事件的时候
//传的参数id,和value都是undefined
//请问怎么解决这个问题
//按下面这样写有事可以的
// bind(ids1[1], "focus", function(){
// alert(ids1[1]);
// showMsg(ids2[1], infos[1]);
// });
function eventBind() {
arrInit();
for ( var i = 1; i < 9; i++) {
bind(ids1[i], "focus", function(a, b) {
return function() {
showMsg(a, b);
};
}(ids1[i], infos[i]));
}
;
}
for (var i = 1; i < 9; i++) {
with ({i:i}) {
bind(ids1[i], "focus", function(){
// alert(ids1[1]);
showMsg(ids2[i], infos[i]);
});
}
};