2013-08-25 73 views
0

我必须在if-else语句中使用unescape()函数。在我的网站中,我有两个页面,一个是用户填写的表单,第二个页面必须通过unescape函数从填充表单中获取信息。我需要if-else语句,因为在表单中我放置了两个单选按钮,每个单选按钮添加不同的文本区域,其中包含不同的ID和名称,因此我想在第二页中检查填充了什么文本字段。 (通过单击一个单选按钮创建的所有字段,该按钮启动一个JavaScript函数,因此在下一页中我必须检查该字段是否已创建,而不仅仅是检查它是否为未填充的文本字段)。 这对我来说有点难以解释,所以只需检查代码。在代码中,您将看到params [“placeName”]等,因此placeName与其他所有其他地方一样,都是上一页中的文本字段名称。 所以问题是 - 如果在前一页中存在我作为参数插入的组件名称,unescape函数将返回什么?unescape()函数返回什么?

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

它也能正常工作,如果我可以检查哪些单选按钮被选中

+0

'unescape()'函数只是返回一个字符串 - 它与您的方式没有任何关系它只是解码URI/URL语法中使用的编码方案。 – Pointy

+0

我再次编辑:) 单选按钮怎么样?我可以知道哪个按钮被选中了吗? –

回答

1

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

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 
... 
+0

谢谢大家,它工作:) –