在看了几天相关的帖子之后,我决定发布这个我仍然没有答案的问题。
我有一个带有“搜索”类型的输入字段的 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 时,它会显示旧值。不知道发生了什么。