Click here to Skip to main content
15,889,878 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I've got this code:

JavaScript
if (returneddata.daterangeparams.TimeUnitsFrom != null) {


...which throws this error (as seen in the Chrome Dev Tools console) when the value is, indeed, null:

Index:1031 Uncaught TypeError: Cannot read property 'TimeUnitsFrom' of null

So how can I check for null in a way that I can avoid the error?

Based on a suggestion here http://stackoverflow.com/questions/12271750/how-to-check-if-a-variable-is-both-null-and-or-undefined-in-javascript, I even tried this:

JavaScript
if (returneddata.daterangeparams.TimeUnitsFrom != null && variable !== undefined) {


...but I still get the same whinging from the guts of the browser.

Code in greater context:

JavaScript
function populatedaterangeprams(rptval, returneddata) {
                    var fromval = '';
                    var toval = '';
                    if (returneddata.daterangeparams.TimeUnitsFrom != null && 

returneddata.daterangeparams.TimeUnitsFrom !== undefined) {
                        fromval = returneddata.daterangeparams.TimeUnitsFrom;
                    }
                    if (returneddata.daterangeparams.TimeUnitsTo != null && 

returneddata.daterangeparams.TimeUnitsTo !== undefined) {
                        toval = returneddata.daterangeparams.TimeUnitsTo;
                    }

                    if (rptval === 1) {
                        // Produce Usage
                        $("#produsagefrom").val(fromval);
                        $("#produsageto").val(toval);
                    } else if (rptval === 2) {
			. . .


So how can I safely check for null?

What I have tried:

Based on a suggestion here http://stackoverflow.com/questions/12271750/how-to-check-if-a-variable-is-both-null-and-or-undefined-in-javascript, I even tried this:

JavaScript
if (returneddata.daterangeparams.TimeUnitsFrom != null && variable !== undefined) {


...but I still get the same whinging from the guts of the browser.
Posted
Updated 29-Apr-16 17:23pm
Comments
[no name] 29-Apr-16 11:54am    

You need to check each step to see if it's null:
JavaScript
if (returneddata != null && returneddata.daterangeparams != null && returneddata.daterangeparams.TimeUnitsFrom != null) {
 
Share this answer
 
Comments
Karthik_Mahalingam 29-Apr-16 12:19pm    
5
"variable" object, they have used in the example in stackoverflow[^] site, you should not use it unless you have defined it with the same name,

Edit your code as

JavaScript
function populatedaterangeprams(rptval, returneddata) {
            var fromval = '';
            var toval = '';

            if (returneddata != null && returneddata.daterangeparams != null ) {


                if (returneddata.daterangeparams.TimeUnitsFrom != null  ) {
                    fromval = returneddata.daterangeparams.TimeUnitsFrom;
                }
                if (returneddata.daterangeparams.TimeUnitsTo != null  ) {
                    toval = returneddata.daterangeparams.TimeUnitsTo;
                }

                if (rptval === 1) {
                    // Produce Usage
                    $("#produsagefrom").val(fromval);
                    $("#produsageto").val(toval);
                } else if (rptval === 2) { }
            }
        }
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900