我正在使用Javascript来验证一些代码,并且它工作正常,但每当我调用alert来显示错误时,在警报消息的开头我得到'undefined'。因此,当我希望警报显示“请输入低目标”时,我得到'未定义请输入低目标'。有人能告诉我我的代码有什么问题吗?
//validation
var lowTarget;
var highTarget;
var errorList;
var isValid = true;
lowTarget = $('input[name="txtLowTarget"]').val();
highTarget = $('input[name="txtHighTarget"]').val();
if (lowTarget == "") {
errorList += "Please enter a Low Target\n";
isValid = false;
}
else {
if (isNumeric(lowTarget) == false) {
errorList += "Low Target must be numeric\n";
isValid = false;
}
}
if (highTarget == "") {
errorList += "Please enter a High Target\n";
isValid = false;
}
else {
if (isNumeric(highTarget) == false) {
errorList += "High Target must be numeric\n";
isValid = false;
}
}
if (isValid == true) {
if (!(parseFloat(highTarget) > parseFloat(lowTarget))) {
errorList += "High Target must be higher than Low Target\n";
isValid = false;
}
}
if (isValid == false) {
alert(errorList);
}
答案 0 :(得分:8)
将一些默认值指定给errorList
,例如空字符串
var errorList = "";
在您执行此操作之前,errorList
的初始值为undefined
。
答案 1 :(得分:0)
使用
时,我在项目中发现了同样的问题var try2 = document.getElementsByName("y_email").value;
alert(try2);
现在我使用了以下内容并且效果很好
var try2 = document.getElementsByName("y_email")[0].value;
alert(try2);
(所以要确保你使用的格式正确无误。)