首页 > 解决方案 > 从一个 HTML 页面到另一个 HTML 页面的表单数据

问题描述

我必须使用 Java 脚本将表单数据从一个 HTML 页面 (test.html) 传递到另一个 (test1.html)。不能使用 PHP,因为我们还没有研究过,也不允许这样做。我能够传递和打印数据,但它被打印在同一页面(test.html)上,而我想在 test1.html 上打印它。你能帮我找出问题所在吗?我附上了 HTML 代码和 Javascript。

<body>
    <form onsubmit="results();" action="test1.html" method="get">
        What is your name?
        <input id="f1" type="text" name="name" required /><br />
        What is your Father Name?
        <input id="f2" type="text" name="fname" required />
        Gender:
        <select name="gender">
            <option id="m" value="Male" selected>Male</option>
            <option id="f" value="Female">Female</option>
            <option id="o" value="Others">Other</option>
        </select>
        Date of Birth*: <br />
        <input type="date" id="b1" name="bday" required><br /><br />
        <input id="submit" type="submit" />
    </form>
    <script src="./response.js"></script>
</body>

Java 脚本:

function results() {
    var name = document.getElementById('f1').value;
    var fname = document.getElementById('f2').value;
    if (document.getElementById('m').selected) {
        gender = document.getElementById('m').value;
    }
    else if (document.getElementById('f').selected) {
        gender = document.getElementById('f').value;
    }
    else {
        gender = document.getElementById('o').value;
    }
    var dob = document.getElementById('b1').value;
    document.write("Here is the Summary of Your Results");
    document.write("Your Name Is: ");
    document.write(name + "<br/>");
    document.write("Your Father Name Is: ");
    document.write(fname + "<br/>");
    document.write("Your Gender Is: ");
    document.write(gender + "</br>");
    document.write("Your Date of Birth Is: ");
    document.write(dob + "</br>");

标签: javascripthtmlforms

解决方案


您应该onsubmit从表单和 html1.html 文件中删除事件,您可以使用URLSearchParams这很容易从 url 获取查询参数

const urlParams = new URLSearchParams(window.location.search);
const myParam = urlParams.get('myParam');

推荐阅读