0

我必须在 if-else 语句中使用 unescape() 函数。在我的网站中,我有两个页面,一个带有用户填写的表单,第二个页面必须通过 unescape 功能从填写的表单中获取信息。我需要 if-else 语句,因为在表单中我放置了两个单选按钮,每个按钮都添加了具有不同 ID 和名称的不同文本区域,因此我想在第二页中检查填充了哪些文本字段。(通过单击启动 javascript 函数的单选按钮创建的所有字段,因此在下一页中,我必须检查该字段是否已创建,而不仅仅是检查它是否是未填充的文本字段)。我有点难以解释,所以只需检查代码。在代码中,您将看到 params["placeName"] 等,因此 placeName 与所有其他代码一样,是上一页的文本字段名称。

    <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>

如果我可以检查选中的单选按钮,它也可以工作

4

2 回答 2

1

undecode函数返回 - 如其名称所示 - 已解码的字符串。如果您输入一个未定义的值,它可能会因为未定义而导致错误。如果您想要检查元素是否已创建,您可以使用

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

反而。

此外,如果您想检查哪个单选按钮被选中,请使用

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
...
于 2013-08-25T21:09:36.237 回答
1

你在问如果不存在会unescape(params["something"])返回什么。params["something"]答案是undefined。所以你需要检查“未定义”的等价性。含义:(if (unescape(params["placeName"]) == "undefined")在这种情况下 params["placeName"] 不存在(未创建)。

于 2013-08-25T21:15:14.937 回答