Yuval Simon
Yuval Simon

Reputation: 335

What does unescape() function returns?

I have to use unescape() function in an if-else statement. In my website I have two pages, one with a form that the user fills and the second page have to get the information from the filled form by unescape function. I need the if-else statement because in the form I put two radio buttons that each one adds different text areas with different ids' and names so I want to check in the second page what text fields are are filled. (all the fields created by clicking on a radio button which starts a javascript function so in the next page I must check if the field was created and not just to check if it is an unfilled text field). It is a little bit hard for me to explain so just check the code. In the code you will see params["placeName"] and so on, so placeName for example like all the others is a text field name from the previous page. So the question is - what does unescape function returns if the component name I insert as a paramater does exist in the previous page?

    <script type="text/javascript">
            function getParams() {
                var idx = document.URL.indexOf('?');
                var params = new Array();
                if (idx != -1) {
                    var pairs = document.URL.substring(idx + 1, document.URL.length).split('&');
                    for (var i = 0; i < pairs.length; i++) {
                        nameVal = pairs[i].split('=');
                        params[nameVal[0]] = nameVal[1];
                    }
                }
                return params;
            }
            params = getParams();
//from here it is what I want to do (I don't know if this condition in the if statement is correct, this is what I ask)
            // if (unescape(params["placeName"]) == false) {
       //    }
          //  else {
                var place = unescape(params["placeName"]);
                var country = unescape(params["country"]);
                var city = unescape(params["city"]);
                var address = unescape(params["address"]);
                var type = unescape(params["type"]);
                var rate = unescape(params["rate"]);
         //   }
        </script>

It can also work if I could check what radio button is checked

Upvotes: 0

Views: 350

Answers (2)

Ofir Israel
Ofir Israel

Reputation: 3913

You are asking what will unescape(params["something"]) return if params["something"] is not present. The answer is undefined. So you need to check equivalence to "undefined". Meaning: if (unescape(params["placeName"]) == "undefined") (in this case params["placeName"] is not present (was not created).

Upvotes: 1

federicot
federicot

Reputation: 12341

The undecode function returns -as it's name indicated- a decoded string. If you enter a value that's not defined it will probably cause an error because of the indefinition. If what you want is to check whether the element was or not created or not you could use

if (params.placeName !== undefined) {
    // It was created
}

instead.

Aditionally, if you want to check which radio button was checked use

if (document.getElementById('foo').checked) {
    // Radio button with id 'foo' was checked
} else if (document.getElementById('bar').checked) {
    // Radio button with id 'bar' was checked
} else if
...

Upvotes: 1

Related Questions