在查看几个相关帖子几天之后,我决定发布这个问题,但我仍然没有答案。
我有一个带有“搜索”类型的输入字段的jquery移动页面,并且如果按下回车键,则该字段具有用于调用具有当前字段值的另一页面的键盘功能。我第一次键入一个值并按回车键,一切正常。但接着,它总是获得我输入的第一个值(前一个值)并且永远不会获得新更改的值。我看过相关的帖子,但无法找出问题的解决方案。到目前为止,我在计算机和移动设备上测试过的所有浏览器的问题都是一样的。
这是输入字段
<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时,当我单击“主页”按钮并返回到原始页面并再次输入新值并按回车键时,它会显示旧值。不知道发生了什么。
答案 0 :(得分:0)
经过进一步研究后,它似乎与jquery mobile中的已知问题有关,无论如何都会缓存第一页。
How does one disable Caching in jQuery Mobile UI。
我实现了该线程中记录的一个解决问题的解决方法(@KCD建议的那个)