Question

[Solved] How to check ‘undefined’ value in jQuery

Possible Duplicate:
Detecting an undefined object property in JavaScript
javascript undefined compare

How we can add a check for an undefined variable, like:

function A(val) {
  if (val == undefined) 
    // do this
  else
    // do this
}
Enquirer: Gaurav

||

Solution #1:

JQuery library was developed specifically to simplify and to unify certain JavaScript functionality.

However if you need to check a variable against undefined value, there is no need to invent any special method, since JavaScript has a typeof operator, which is simple, fast and cross-platform:

if (typeof value === "undefined") {
    // ...
}

It returns a string indicating the type of the variable or other unevaluated operand. The main advantage of this method, compared to if (value === undefined) { ... }, is that typeof will never raise an exception in case if variable value does not exist.

Respondent: VisioN

Solution #2:

In this case you can use a === undefined comparison: if(val === undefined)

This works because val always exists (it’s a function argument).

If you wanted to test an arbitrary variable that is not an argument, i.e. might not be defined at all, you’d have to use if(typeof val === 'undefined') to avoid an exception in case val didn’t exist.

Respondent: ThiefMaster

Solution #3:

Note that typeof always returns a string, and doesn’t generate an error if the variable doesn’t exist at all.

function A(val){
  if(typeof(val)  === "undefined") 
    //do this
  else
   //do this
}
Respondent: Jignesh Rajput

Solution #4:

I know I am late to answer the function but jquery have a in build function to do this

if(jQuery.type(val) === "undefined"){
    //Some code goes here
}

Refer jquery API document of jquery.type https://api.jquery.com/jQuery.type/ for the same.

Respondent: Arpita

Solution #5:

You can use shorthand technique to check whether it is undefined or null

 function A(val)
 {
   if(val || "") 
   //do this
 else
 //do this
 }

hope this will help you

Respondent: Rohidas Kadam

Solution #6:

if (value === undefined) {
    // ...
}
Respondent: sandeep kumar

Solution #7:

when I am testing “typeof obj === undefined“, the alert(typeof obj) returning object, even though obj is undefined.
Since obj is type of Object its returning Object, not undefined.

So after hours of testing I opted below technique.

if(document.getElementById(obj) !== null){
//do...
}else{
//do...
}

I am not sure why the first technique didn’t work.But I get done my work using this.

Respondent: Sridhar K

Solution #8:

If you have names of the element and not id we can achieve the undefined check on all text elements (for example) as below and fill them with a default value say 0.0:

var aFieldsCannotBeNull=['ast_chkacc_bwr','ast_savacc_bwr'];
 jQuery.each(aFieldsCannotBeNull,function(nShowIndex,sShowKey) {
   var $_oField = jQuery("input[name=""+sShowKey+""]");
   if($_oField.val().trim().length === 0){
       $_oField.val('0.0')
    }
  })
Respondent: Yoosaf Abdulla

Solution #9:

I am not sure it is the best solution, but it works fine:

if($someObject['length']!=0){
    //do someting
}
Respondent: esdu

Solution #10:

function isValue(value, def, is_return) {
    if ( $.type(value) == 'null'
        || $.type(value) == 'undefined'
        || $.trim(value) == ''
        || ($.type(value) == 'number' && !$.isNumeric(value))
        || ($.type(value) == 'array' && value.length == 0)
        || ($.type(value) == 'object' && $.isEmptyObject(value)) ) {
        return ($.type(def) != 'undefined') ? def : false;
    } else {
        return ($.type(is_return) == 'boolean' && is_return === true ? value : true);
    }
}

try this~ all type checker

Respondent: MGK

Solution #11:

You can use two way
1) if ( val == null )
2) if ( val === undefine )

Respondent: Suhag Lapani88

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Most Popular

To Top
India and Pakistan’s steroid-soaked rhetoric over Kashmir will come back to haunt them both clenbuterol australia bossier man pleads guilty for leadership role in anabolic steriod distribution conspiracy