HEEN
HEEN

Reputation: 4721

Jquery undefined condition is not working

I have set a validation for undefined here below in my javascript code. Even if the value is undefined it is going inside the if condition

if (VSATSaving.PANORAMIC_IMAGES != 'undefined' || VSATSaving.PANORAMIC_IMAGES != "") {
    VSATSaving.PANORAMIC_IMAGES = lstPanaromicImages.join();
}

update

Updated code

var PANAROMIC_120 = $(document.getElementById('ImgPanaromic120')).data('imagename');
if (PANAROMIC_120 != "" && PANAROMIC_120 != undefined)
    lstPanaromicImages.push(PANAROMIC_120);

var PANAROMIC_150 = $(document.getElementById('ImgPanaromic150')).data('imagename');
if (PANAROMIC_150 != "" && PANAROMIC_150 != undefined)
    lstPanaromicImages.push(PANAROMIC_150);

var PANAROMIC_180 = $(document.getElementById('ImgPanaromic180')).data('imagename');

if (PANAROMIC_180 != "" && PANAROMIC_180 != undefined)
    lstPanaromicImages.push(PANAROMIC_180);

var PANAROMIC_210 = $(document.getElementById('ImgPanaromic210')).data('imagename');
if (PANAROMIC_210 != "" && PANAROMIC_210 != undefined)
    lstPanaromicImages.push(PANAROMIC_210);

var PANAROMIC_240 = $(document.getElementById('ImgPanaromic240')).data('imagename');
if (PANAROMIC_240 != "" && PANAROMIC_240 != undefined)
    lstPanaromicImages.push(PANAROMIC_240);

if (VSATSaving.PANORAMIC_IMAGES != undefined || VSATSaving.PANORAMIC_IMAGES != "") {
    VSATSaving.PANORAMIC_IMAGES = lstPanaromicImages.join();
}

Upvotes: 0

Views: 129

Answers (4)

Sourabh Somani
Sourabh Somani

Reputation: 2138

Check undefined condition like as follows

var PANAROMIC_120 = $(document.getElementById('ImgPanaromic120')).data('imagename');
if (PANAROMIC_120 != "" && typeof(PANAROMIC_120) != "undefined")
    lstPanaromicImages.push(PANAROMIC_120);

var PANAROMIC_150 = $(document.getElementById('ImgPanaromic150')).data('imagename');
if (PANAROMIC_150 != "" && typeof(PANAROMIC_150) != "undefined")
    lstPanaromicImages.push(PANAROMIC_150);

var PANAROMIC_180 = $(document.getElementById('ImgPanaromic180')).data('imagename');

if (PANAROMIC_180 != "" && typeof(PANAROMIC_180) != "undefined")
    lstPanaromicImages.push(PANAROMIC_180);

var PANAROMIC_210 = $(document.getElementById('ImgPanaromic210')).data('imagename');
if (PANAROMIC_210 != "" && typeof(PANAROMIC_210) != "undefined")
    lstPanaromicImages.push(PANAROMIC_210);

var PANAROMIC_240 = $(document.getElementById('ImgPanaromic240')).data('imagename');
if (PANAROMIC_240 != "" && typeof(PANAROMIC_240) != "undefined")
    lstPanaromicImages.push(PANAROMIC_240);

if (typeof(VSATSaving.PANORAMIC_IMAGES) != "undefined" || VSATSaving.PANORAMIC_IMAGES != "") {
    VSATSaving.PANORAMIC_IMAGES = lstPanaromicImages.join();
}

Upvotes: 0

tam
tam

Reputation: 352

if you are using "use strict" in your document then you can use the following way to check:

if (typeof PANAROMIC_120 != "undefined" && PANAROMIC_120 != "")
    lstPanaromicImages.push(PANAROMIC_120);

Note that I am using quotes over undefined when I have added typeof

Upvotes: 0

Erazihel
Erazihel

Reputation: 7605

You used an OR operator. This means that if the VSATSaving.PANORAMIC_IMAGES value is undefined, it is still different from "", that's why the if statement is true.

Just replace the OR operator by an AND:

if (VSATSaving.PANORAMIC_IMAGES !== undefined && VSATSaving.PANORAMIC_IMAGES !== "") {
    VSATSaving.PANORAMIC_IMAGES = lstPanaromicImages.join();
}

Note that I removed the single quotes around the undefined keyword.

Upvotes: 3

lalithkumar
lalithkumar

Reputation: 3540

you can use isNaN function in javascript.

if (!isNaN(VSATSaving.PANORAMIC_IMAGES)) {
    VSATSaving.PANORAMIC_IMAGES = lstPanaromicImages.join();
}

Upvotes: 0

Related Questions