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

如何用JavaScript在另一个页面打印用户表单输入内容?

实现表单提交内容在另一个页面展示的解决方案

1. 完善表单代码

先补全不完整的表单结构,确保能正常提交输入内容:

<form action="action_page.html" method="GET">
  <div>
    <label for="fname">First name:</label>
    <br>
    <input type="text" id="fname" name="fname"><br><br>
    <button type="submit">提交</button>
  </div>
</form>

注:修正了label的for属性,使其与输入框的id匹配,保证表单语义正确。

2. 修正action_page.html的展示代码

现有JS代码存在三个核心问题:缺少承载结果的DOM容器、模板字符串语法错误、直接追加字符串的方式不规范,以下是修正后的完整代码:

方案一:使用DOM节点操作

<!DOCTYPE html>
<html>
<body>
  <!-- 新增结果展示容器 -->
  <div id="result"></div>

  <script>
    const resultsContainer = document.getElementById('result');
    // 解析URL中的GET参数
    new URLSearchParams(window.location.search).forEach((value, name) => {
      // 创建文本节点存储键值对
      const textNode = document.createTextNode(`${name}: ${value}`);
      resultsContainer.appendChild(textNode);
      // 添加换行元素
      resultsContainer.appendChild(document.createElement('br'));
    });
  </script>
</body>
</html>

方案二:使用innerHTML拼接(更简洁)

<!DOCTYPE html>
<html>
<body>
  <div id="result"></div>

  <script>
    const resultsContainer = document.getElementById('result');
    let displayContent = '';
    new URLSearchParams(window.location.search).forEach((value, name) => {
      displayContent += `${name}: ${value}<br>`;
    });
    resultsContainer.innerHTML = displayContent;
  </script>
</body>
</html>

关键修正说明

  • 必须在action_page.html中添加id="result"的DOM容器,否则JS无法获取到结果展示的载体
  • 模板字符串必须用**反引号()**包裹,才能正确解析${name}和${value}`变量,单引号会将其当作普通文本输出
  • 避免直接用append方法追加字符串,采用DOM节点操作或innerHTML的方式更规范、兼容性更好

内容的提问来源于stack exchange,提问作者DEL MUNDO LENARD ANTHONY G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:10:28