【问题标题】:Keep textbox input values OR prevent page reload保留文本框输入值或防止页面重新加载
【发布时间】:2019-02-04 21:32:45
【问题描述】:

我正在使用过滤器功能对我的列表框进行排序。问题是每次我使用过滤器功能(文本框中的字符串和一个按钮使它们过滤字符串)时,页面重新加载,我需要再次填写 4 个文本框,我已经在重新加载。

有什么好的解决办法吗?

        .on("click", "#search", function () {

            var searchString = $("#searchString").val();
            location.href = '/Meeting/Meeting?searchString=' + searchString

        });

 <input class="form-control" type="text" id="searchString" />

 <button type='button' id="search" class="btn btn-default">submit</button>

【问题讨论】:

  • 你能澄清一下吗?对此的“快速” 答案(与所有“防止页面重新加载”问题一样)是“好吧,那就做Ajax/Xhr”,而不是你正在做的事情(设置location.href

标签: c# asp.net asp.net-mvc model-view-controller


【解决方案1】:

如果不重新加载页面,您将无法真正更新 href。

您可以潜在地使用 history.pushState() 或 history.replaceState(),但除非您知道自己在做什么,否则我会犹豫采用这种方法。如果您想了解有关修改浏览器历史记录的更多信息,建议您阅读以下链接: https://developer.mozilla.org/en-US/docs/Web/API/History_API

或者,您可以附加 searchString 作为锚点,并使您的网址类似于“/Meeting/Meeting#searchString=yourQuery”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多