0

在看了几天相关的帖子之后,我决定发布这个我仍然没有答案的问题。

我有一个带有“搜索”类型的输入字段的 jquery 移动页面,并且有一个 keyup 功能,如果按下回车键,该字段可以使用该字段的当前值调用另一个页面。当我第一次输入一个值并按回车键时,一切都正常。但是然后,它总是获得我输入的第一个值(以前的值),并且永远不会获得新更改的值。我看过相关的帖子,但无法找出我的问题的解决方案。到目前为止,我在计算机和移动设备上测试过的所有浏览器都存在相同的问题。

这是输入字段

<div class="content-primary" data-dom-cache="false">
        <input type="search" name="finddata" id="search-team" value="Find Data" data-inline="true"/>
</div>

这是脚本功能

$(document).on('keyup','#search-team',hndlSearchTmKeyup);

function hndlSearchTmKeyup(event) {
    if (event.which == 13) {
         alert("search!oo! ="+$("#search-team").val());     
         window.location.assign("/myapp/mysearchpage.jsp?findTmNm="+$("#search-team").val())
         return false;
    }
}    

经过进一步测试,我发现如果我只是在 hndlSearchTmKeyup 函数中显示警报而不调用 window.location.assign 它会正确显示新值。当我包含 window.location.assign 并从下一页单击“主页”按钮并返回原始页面并再次输入新值并按 Enter 时,它会显示旧值。不知道发生了什么。

4

1 回答 1

0

经过进一步研究,它似乎与 jquery mobile 中的一个已知问题有关,无论如何都会缓存第一页。

如何在 jQuery Mobile UI 中禁用缓存

我实施了该线程中记录的一种解决方法来解决问题(@KCD 建议的解决方法)

于 2013-05-14T00:59:55.910 回答