【发布时间】:2018-12-27 12:30:03
【问题描述】:
我正在尝试设置 sessionStorage,以便字段填充用户输入的数据。 这个想法是,从 search.aspx 中,我填写文本字段并搜索,在 check.aspx 上有一个按钮可以返回,并且搜索的值已经存储在该字段中。 数据存储在 sessionStorage 中,但是从 check.aspx 中返回时,并没有存储在字段中。
第一个名为 search.aspx 的 aspx 包含字段和按钮
<input type="text" runat="server" class="input_medium" placeholder="Add text" id="txtField" maxlength="15" ClientIDMode="Static" Value=""/>
<button type="button" class="boton" id="btn_Buscar" onclick="javascript:fnBuscaDoctos();">Buscar</button>
在名为 check.aspx 的第二个 aspx 上,我有另一个按钮
<asp:Button ID="btnVolver" class="btn btnVolver" runat="server" Text="Nueva Búsqueda" OnClick="btnVolver_Click" />
填充数据后,我有一个名为 docsearch.js 的 js,它有一个在 sessionStorage 上存储字段值的函数
$(document).ready(function () {
$('#btn_Buscar').click(function () {
var fieldValue = document.getElementById("txtField").value;
sessionStorage.setItem("TextField", fieldValue);
})
})
而且它还具有加载字段值的功能
$(document).ready(function () {
$('#btnVolver').click(function () {
var txt = sessionStorage.getItem("TextField");
document.getElementById("txtField").value = txt;
})
})
【问题讨论】:
-
对不起,我不熟悉这门语言,正在努力学习。我正在尝试使用 sessionStorage。我的意思是数据存储正确,但我无法用第二个函数检索它。
-
var txt = sessiionStorage.getItem("TextField");你的逻辑有错别字。你还说你想在一个页面上设置它,并在另一个页面上使用它。与sessionStorage一起使用的唯一方法是,如果您在两个页面的同一浏览器窗口/选项卡中,因为 sessionStorage 不会跨选项卡共享。它只存在于设置它的选项卡中,并在该选项卡关闭时被销毁。 -
如果您希望它可以在不同的选项卡中访问,则必须改用
localStorage。 -
我在这里手动输入了代码,错字不在代码中。我的意思是对两个页面都使用一个选项卡中的信息。
-
那么我看不出这个逻辑不起作用的任何明显原因。您只需单击第一页上的按钮即可存储它,然后单击第二页上的第二个按钮使其显示
标签: jquery asp.net session-storage