2017-07-14 7 views
0

Ich habe eine validation für undefined hier unten in meinem Javascript-Code festgelegt. Selbst wenn der Wert undefined es im Inneren des wenn ZustandJquery undefined Zustand funktioniert nicht

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

Update

aktualisiert Code wird

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

Sie verwenden '||'. Ich glaube, du willst '&&' –

+0

verwenden, weil du oder im if verwendest, weil die zweite Bedingung wahr ist, also geht es in die if-Anweisung, benutze '&&' statt :) – ThisGuyHasTwoThumbs

Antwort

3

Sie verwendet einen OR Operator. Das heißt, wenn der VSATSaving.PANORAMIC_IMAGES Wert undefined ist, ist es immer noch anders als "", deshalb ist die if Aussage wahr.

Ersetzen Sie einfach die OR Bediener durch ein AND:

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

Bitte beachte, dass ich die einfachen Anführungszeichen um das undefined Schlüsselwort entfernt.

+0

es geht immer noch hinein undefined – BNN

+0

@VVVV Antwort aktualisiert, ich habe nicht gesehen, dass Sie einfache Anführungszeichen um das 'undefined' Schlüsselwort verwendet haben. – Erazihel

+0

Welches ist die vertrauenswürdigste zu verwendende Validierung? bitte posten Sie einen bestimmten Grund dafür – BNN

0

können Sie isNaN Funktion in Javascript verwenden.

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

hast du das versucht? @VVVV – lalithkumar

+0

hervorragend ..! es funktioniert. Aber die andere Antwort hat nicht funktioniert. ? – BNN

+0

Dies ist nicht, was 'isNaN' verwendet wird ... Siehe Dokumentation hier: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN – Erazihel

0

wenn Sie "use strict" in Ihrem Dokument verwenden, dann können Sie die folgende Art und Weise verwenden, um zu überprüfen:

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

Bitte beachte, dass ich Zitate über undefinierte verwende, wenn ich typeof

0

prüfen hinzugefügt haben undefinierter Zustand wie folgt

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