2017-07-14 44 views
0

我已经在我的javascript代码中设置了一个validation未定义的下面。即使值为undefined它是如果条件Jquery未定义的条件不起作用

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

更新

更新代码

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(); 
} 
+2

您正在使用'||'。我想你想用'&&' –

+0

这是因为你在使用或在if中,这是因为第二个条件是真的,所以它进入if语句,使用'&&'而不是:) – ThisGuyHasTwoThumbs

回答

3

您使用的OR操作中去。这意味着如果VSATSaving.PANORAMIC_IMAGES值为undefined,它仍然不同于"",这就是为什么if声明为真。

AND只需更换OR操作:

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

注意,我删除周围的undefined关键字单引号。

+0

它仍然在里面undefined – BNN

+0

@VVVV答案更新了,我没有看到你在'undefined'关键字周围使用了单引号。 – Erazihel

+0

哪一个是最值得信赖的验证使用?任何请张贴具体原因 – BNN

0

你可以在javascript中使用isNaN函数。

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

你试过这个吗? @VVVV – lalithkumar

+0

非常棒..!它的工作。但是其他答案没有奏效。 ? – BNN

+0

这不是什么'isNaN'用于......见这里的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN – Erazihel

0

如果你在文档中使用"use strict"那么你可以使用下面的方法来检查:

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

请注意,我使用了不确定的报价时,我已经加入typeof

0

检查undefined条件如下

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