HTML中的调用代码如下
[code="java"]
$("[@name=email]").blur(function(){
var temp = checkEmail($("[@name=email]").val());
if(temp == 1){
$.ajax({
type:"post",
async:false,
data:"email="+($('[@name=email]').val()),
url:"../userlogin/userlogin.do? method=valionlyemail",
success:function(data){
resultdata = data;
if(resultdata=="error"){
temp = "该email已存在!";
}else{
temp = "通过验证!"
}
}
});
}
if(temp==2)temp="邮箱填写不正确!!";
if(temp==3)temp="请填写邮箱!";
if(temp==4)temp="邮箱长度超出范围!";
showmessage('emailerror',temp);
});
[/code]
checkEmail为另一个JS文件中的函数
[code="java"]
//验证邮箱
function checkEmail(email){
//定义验证之后返回的错误信息
var Errors = new Array(1,2,3,4);
//1,2,"邮箱填写不正确!"3,"请填写邮箱!"4"邮箱长度超出范围!"
if(email.length return Errors[2];
}
if(email.length>99){
return Errors[3];
}
var ereg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
if(ereg.test(email)){
return 1;
}else{
return Errors[1];
}
}
[/code]
类似的引用还有很多,在测试时用FF调试无任何错误,在IE下就报错,而且每个错误都是在引用这个这些函数时例如var temp = checkEmail($("[@name=email]").val());
,出错信息为缺少对象,实在是找不出来原因了!5555!
这个思维并不正确,FF下正常和IE正常不是一回事。FF下可以忽略一些错误。因为javascript本身就部严谨。但是在IE下JScript相对较严谨。
1.有可能是加载顺序的问题。
2.有可能就因为多了个标点符号引起的。
需要借助个好的工具调试下。
你的这个函数放在了$(function(){}):里面了吗?
仅凭这些代码是看不出来的,因为根本就没有错误。你的加载顺序呢?
你还是确定一下 $("[@name=email]").val() 可存在?
这个是类json格式,你用的什么方式出错的,是不是 area.11 格式?
他不是一个对象 也不是一个数组,你需要将其转换为 object或者Array