我正在尝试使用javascript创建注册表单并验证输入字段,但是在for循环执行后我遇到了困难......
function checkValidation1() {
var elem = document.getElementsByTagName("input");
for(var i = 0; i < elem.length; i++) {
if($("#"+elem[i].id).val()=="") {
$("#"+elem[i].id+"error").html("<img src='images/exclamationsmall.png' title='"+elem[i].name+" should not be blank'>");
} else if(elem[i].name=="email") {
var emailReg = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$/;
if(!emailReg.test($("#"+elem[i].id).val())) {
$("#"+elem[i].id+"error").html("<img src='images/exclamationsmall.png' title='"+elem[i].name+" is invalid'>");
}
} else {
$("#"+elem[i].id+"error").html("");
}
}
alert("fasfasfasfasfasf");
}
alert
由于某种原因未执行。有什么想法吗?
答案 0 :(得分:2)
确认您的所有input
元素实际上都具有id
属性。否则这一行:
if ($("#" + elem[i].id).val() == "") {
...将导致只包含octothorpe的表达式 - $("#")
- 并出现以下错误:
语法错误,无法识别的表达式:#
...最终阻止代码到达alert
。