0

我有两个HTMLstep1.html并且step2.html我通过 URL 查询字符串将拉丁值( envían)从s传递step1.html到 s ,方法是在输入字段值(在.tep2.htmlenvíanstep1.html

我在step2.html使用某些实用程序函数时获取查询字符串参数的值,我在一个文本框中显示该值,但我在文本框中得到的值与传递的值不同,请参见屏幕截图。

在此处输入图像描述

得到编码值,帮助我也í得到相同的值ístep2.html

编辑:一个缺点是step2.htmltwitter.com,我无法进行任何解码。看下面的截图 在此处输入图像描述

提前感谢您的帮助。

STEP1.html

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>

</head>

<body>
    <div class="">
        <form action="step2.html">
            <input type="submit" value="click to submit"/>

            <input type="hidden" name="val" value="envían" />
        </form>
    </div>  
</body>

Step2.html

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
    <script>

    var QueryString = function () {
      // This function is anonymous, is executed immediately and 
      // the return value is assigned to QueryString!
      var query_string = {};
      var query = window.location.search.substring(1);
      var vars = query.split("&");
      for (var i=0;i<vars.length;i++) {
        var pair = vars[i].split("=");
            // If first entry with this name
        if (typeof query_string[pair[0]] === "undefined") {
          query_string[pair[0]] = pair[1];
            // If second entry with this name
        } else if (typeof query_string[pair[0]] === "string") {
          var arr = [ query_string[pair[0]], pair[1] ];
          query_string[pair[0]] = arr;
            // If third or later entry with this name
        } else {
          query_string[pair[0]].push(pair[1]);
        }
      } 
        return query_string;
    } ();

    function fngetval(){
        var val=QueryString.val;

        document.getElementById("status").value=val;
    }

    </script>

    <style>

    </style>
</head>

<body onload="fngetval();">
    <div class="">
        <textarea id="status" name="status" ></textarea>
    </div>  
</body>

4

1 回答 1

1

您不能í在 URL 中包含 ,因此它被编码为%ED.

您可以 1) 使用POST表单而不是默认的GET. 或 2) 解码val变量的值。请参阅此 Stack Overflow 问题:JavaScript URL 解码函数

于 2013-08-21T14:31:31.683 回答