0
我在Firefox中查看验证错误时出现以下错误,它适用于Chrome和Safari。Firefox javascript错误
这是原来的代码:
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a valid number no spaces.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
这是我的新的JavaScript代码来发送错误信息到id fterror一个div;
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+=' '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a valid number no spaces.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+=' '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += ' '+nm+' is required.\n'; }
} if (errors) document.getElementById('fterror').innerText = "Please correct the following error(s): \n"+errors;
document.MM_returnValue = (errors == '');
if (errors == '') document.getElementById('fterror').innerText = "";
} }
那就是一个严重搞砸了一段代码。任何机会,你可以只使用Dreamweaver再次设置你的新规则? 如果不是,您应该尝试查明脚本中的确切区别,然后帮助更容易。 – 2011-05-13 05:14:34
请格式化您的代码,提供一个说明错误的“工作”示例,准确描述您的期望以及实际发生的情况。此外,没有看到电话或相关的HTML,你期待那些可能希望帮助你有一个水晶球。据我所知,两位代码之间的唯一区别是连字符如下:'errors + =' - '+ nm +''。我认为这不会对运行此代码的结果产生任何显着影响,除了在字符串中明显插入连字符。 – RobG 2011-05-13 05:34:38
感谢您的回应Pal,唯一的变化是3行代码。错误消息显示在警告框中,但我想将错误写入div标签。 – ollie 2011-05-13 05:34:56