【问题标题】:JQuery function using sessionStorage not working with .aspx file使用 sessionStorage 的 JQuery 函数不适用于 .aspx 文件
【发布时间】: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


【解决方案1】:

&lt;asp:Button ID="btnVolver" 是服务器控制,因此请确保其生成的 id 是 btnVolver 以便执行您的 jquery 点击处理程序。

您可以像这样将ClientIDMode="Static" 添加到 btnVolver 声明中:

<asp:Button ID="btnVolver" ClientIDMode="Static" class="btn btnVolver" runat="server" Text="Nueva Búsqueda" OnClick="btnVolver_Click" />

【讨论】:

    【解决方案2】:

    我使用了相同的代码,它对我来说工作正常,除了我在两个页面上都添加了 jquery cdn。现在你必须做的第二件事是在页面头部部分使用 javascript 函数,也许你的 javascript 没有被很好地引用或不知何故不工作,所以直接在页面上编写 javascript 可能会对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2012-03-20
      • 2018-12-01
      • 1970-01-01
      相关资源
      最近更新 更多