javascript - 我如何保存文本框中的输入然后移至下一页? (Javascript/HTML)

标签 javascript html variables input

作为我新工作的一部分,我正在创建一个小表单,用户可以在其中回答问题,然后将其保存并在页面末尾输出。

我开始时有一个提示,要求用户解释他们的答案(效果很好!),但我被要求将其更改为输入框。

基本上我需要做的过程是:

User enters in text box -> Clicks next button -> save input to session variable and move to next page

到目前为止,我在正文中有以下 HTML:

<form name="next" action='#' method=post>
    Explanation:<input type="text" id="xp" required><br>
    <button class="nextButton" onclick="return explanation()">Next</button>
</form>

使用相应的javascript:

function explanation() {
        var exp = document.getElementById('xp').value;
        sessionStorage.setItem("p1_reason", exp);
        alert(exp);
        document.location.href = 'page2.html';
    }

目前的结果是:

  • 文本框被清除,但屏幕上没有保存或显示任何内容
  • 不显示下一页。

如有任何帮助/建议,我们将不胜感激。我对js比较陌生,所以我将不胜感激!我很清楚周围有类似的问题,但我似乎看不出哪里出了问题。

最佳答案

@David 是对的。您可以添加 event.preventDefault() 函数来阻止表单的默认行为,即提交。否则你的代码似乎工作。

function explanation() {
    event.preventDefault(); // <-- add here
    var exp = document.getElementById('xp').value;
    sessionStorage.setItem("p1_reason", exp);
    alert(exp);
    window.location.href = 'page2.html';
}

此外,不要使用 document.location.href,它已被弃用。最好改用 window.location.href

关于javascript - 我如何保存文本框中的输入然后移至下一页? (Javascript/HTML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53176568/

相关文章:

javascript - 个体变量与对象

javascript - 有什么方法可以动态地将 onclick 事件应用于大型 li 列表吗?

html - 如何调整 html 中 img 标签中使用的 svg 的大小?

javascript - 在 JavaScript 中读取外部链接文件的内容

html - 如何修复 "slide-in"cssanimation 以使其正常工作#intro?

html - 3 列文本换行符

Javascript if/else 语句有帮助,我这段代码做错了什么?

具有静态成员的 C++ 模板类 - 对所有类型的类都相同

javascript - 从javascript中的其他命名函数调用命名函数

javascript - jquery 删除 <span> 标签同时保留它们的内容(并替换 <divs> 和 <p> :s with <br>)