问题:使用“ 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;
}
我尝试了很多方法,努力地挖掘了互联网,但仍然未能 停止循环 。任何想法? 谢谢
答案 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', '')
}
}