You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript获取浏览器URL并拆分以展示表单用户输入?

嘿,我来一步步给你拆解这个问题,完全用纯JavaScript,不搞复杂函数,让你能看明白每一步的逻辑~

首先得先搞定表单页面的设置:只有当表单用GET方法提交时,用户的输入才会被拼在跳转后的URL里(这就是老师说的“通过结果页面的URL获取输入数据”的前提)。给你一个简单的表单页面示例:

<!-- form.html 表单页面 -->
<form action="result.html" method="get">
  <label>姓名:<input type="text" name="username"></label><br>
  <label>邮箱:<input type="email" name="email"></label><br>
  <label>年龄:<input type="number" name="age"></label><br>
  <button type="submit">提交</button>
</form>

接下来是结果页面(result.html)的JavaScript逻辑,我会把每一步都写得清清楚楚,没有封装函数,方便你理解:

<!-- result.html 结果展示页面 -->
<!DOCTYPE html>
<html>
<body>
  <h2>你的输入内容:</h2>
  <div id="output"></div>

  <script>
    // 1. 直接获取URL中?后面的查询参数部分(比拿整个href更高效)
    let queryString = window.location.search;
    console.log("原始查询字符串:", queryString); // 示例:?username=张三&email=zhangsan@test.com&age=25

    // 2. 去掉开头的问号,得到纯键值对组成的字符串
    let paramsStr = queryString.slice(1);
    console.log("去掉问号后的字符串:", paramsStr); // 示例:username=张三&email=zhangsan@test.com&age=25

    // 3. 用&作为分隔符,把字符串拆成一个个键值对的数组
    let paramPairs = paramsStr.split('&');
    console.log("拆分后的键值对数组:", paramPairs); // 示例:["username=张三", "email=zhangsan@test.com", "age=25"]

    // 4. 获取页面上用来展示结果的容器
    let outputDiv = document.getElementById('output');

    // 5. 遍历每个键值对,拆分并展示到页面上
    for (let i = 0; i < paramPairs.length; i++) {
      // 把单个键值对用=拆分,得到键(输入框的name)和值(用户输入的内容)
      let keyValue = paramPairs[i].split('=');
      let inputName = keyValue[0];
      // 注意:URL里的中文/特殊字符会被编码,必须用decodeURIComponent解码才能正常显示
      let inputValue = decodeURIComponent(keyValue[1]);

      // 创建一个p标签来展示每组输入,然后添加到容器里
      let resultItem = document.createElement('p');
      resultItem.textContent = `${inputName}:${inputValue}`;
      outputDiv.appendChild(resultItem);
    }
  </script>
</body>
</html>

几个关键细节要注意:

  • window.location.search:专门用来获取URL中?开始的查询参数部分,比手动截取整个URL更靠谱。
  • decodeURIComponent():因为浏览器会自动把URL里的特殊字符(比如中文、空格)编码成%xx格式,必须解码才能显示正常的内容。
  • 表单里的name属性很重要:每个输入框的name会作为URL里键值对的“键”,没有name的输入框数据不会被传到URL里。

这样你提交表单后,result页面就会自动把用户输入的内容展示出来啦~

内容的提问来源于stack exchange,提问作者Sam Porter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:21:34