Jquery未定义的条件不起作用

时间:2017-07-14 12:46:41

标签: javascript jquery validation

我已经在我的javascript代码中为下面的undefined设置了validation。即使值为undefined,它也会进入 if 条件

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

4 个答案:

答案 0 :(得分:3)

您使用了OR运算符。这意味着如果VSATSaving.PANORAMIC_IMAGES值为undefined,则仍然与""不同,这就是if语句为真的原因。

只需用OR替换AND运算符:

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

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

答案 1 :(得分:0)

您可以在javascript中使用isNaN功能。

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

答案 2 :(得分:0)

如果您在文档中使用"use strict",则可以使用以下方法进行检查:

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

请注意,当我添加typeof

时,我使用的是未定义的引号

答案 3 :(得分:0)

检查未定义的条件,如下所示

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