user517406
user517406

Reputation: 13773

'undefined' appearing in alert

I am using Javascript to validate some code, and it works fine, but whenever I call alert to show the errors, at the beginning of the alert message I get 'undefined'. So when I should expect the alert to show 'Please enter a Low Target', instead I get 'undefinedPlease enter a Low Target'. Can somebody tell me what is wrong with my code?

//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);
        }

Upvotes: 3

Views: 14648

Answers (2)

safeer008
safeer008

Reputation: 333

I was finding the same problem in my project while using

var try2 = document.getElementsByName("y_email").value;
alert(try2);

Now I used the following and it works well

 var try2 = document.getElementsByName("y_email")[0].value;
 alert(try2);

(So Be doubly sure that what you are using in correct format to use.)

Upvotes: 0

Nikita Rybak
Nikita Rybak

Reputation: 68006

Assign some default value to errorList, e.g. empty string

var errorList = "";

Until you do that, initial value of errorList is undefined.

Upvotes: 8

Related Questions