'undefined'出现在警报中

时间:2011-02-16 14:27:51

标签: javascript

我正在使用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);
        }

2 个答案:

答案 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);

(所以要确保你使用的格式正确无误。)

相关问题