上次搜索值的加载/显示页面

时间:2019-03-22 09:10:24

标签: javascript html

问题:使用“ window.onload”提交表单会创建循环无限。(表单提交不间断)

当用户访问页面时,我会使用

使用保存的值在页面加载后进行搜索
    window.onload = function() {    

if (localStorage.getItem("datePicked")){
        document.getElementById("searchPickDate").value = localStorage.getItem("datePicked");
    }

    document.getElementById("searchDateForm").submit();
}

searchDateForm表单:

<form id='searchDateForm' name='searchDateForm' action='' method='POST'>
<input type='date' id='searchPickDate' name='searchPickDate' > 
<input type='submit' value='Search' onclick="return searchDatebtn();" >
</form>

这是保存搜索值的代码:

function searchDatebtn() {
    var asdf = document.getElementById("searchPickDate").value;
   localStorage.setItem("datePicked", asdf);
   return true;
}

我尝试了很多方法,努力地挖掘了互联网,但仍然未能 停止循环 。任何想法? 谢谢

4 个答案:

答案 0 :(得分:1)

提交将把您发送到您以action =“”属性形式设置的网址 在您的情况下,属性为空,因此浏览器会假定它是您的当前网址,并将您带到该网址

提交对用户体验不利 对于您的情况,您应该检索上次选择的日期 并使用它从带有ajax请求的服务器中获取最新搜索信息

答案 1 :(得分:0)

不是直接提交表单调用,而是函数。

window.onload = function() {    
    searchDatebtn();
}

如果您不想刷新页面,请在搜索功能中返回false

function searchDatebtn() {
    var asdf = document.getElementById("searchPickDate").value;
   localStorage.setItem("datePicked", asdf);
   return false;
}

答案 2 :(得分:0)

尝试检查日期是否已经存储在bool mouseIsIn(sf::RectangleShape shape, sf::RenderWindow* window){ sf::FloatRect shapeBounds = shape.getGlobalBounds(); sf::Vector2i mousePos = sf::Mouse::getPosition(*window); return shapeBounds.contains(mousePos.x, mousePos.y); } 中以停止无限循环:

localStorage

答案 3 :(得分:0)

尝试此代码。

window.onload = function() {    
var searchKey = localStorage.getItem('key');
  if(searchKey != ''){
    document.getElementById("searchDateForm").submit();
    localStorage.setItem('key', '')
  }
}