Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用javascript提交表单后返回到原始滚动位置?_Javascript_Php - Fatal编程技术网

如何在使用javascript提交表单后返回到原始滚动位置?

如何在使用javascript提交表单后返回到原始滚动位置?,javascript,php,Javascript,Php,提交表单后,如何自动滚动回按钮位置 function scrollToButtonPosition(x,y){ window.scrollTo(x,y); } 单击“提交”按钮时,如何调用此函数并传递当前滚动坐标?您有几个选项可以实现这一点 使用AJAX将表单提交到脚本。滚动位置将保持不变 提交时,将滚动位置保存到本地存储中;加载时,查看该项目是否在本地存储中;如果在本地存储中,则滚动到该项目并删除本地存储中的项目。否则,由于表单提交,此页面未加载 使用aanchor。通常将表单提交到脚

提交表单后,如何自动滚动回按钮位置

function scrollToButtonPosition(x,y){
  window.scrollTo(x,y);
}

单击“提交”按钮时,如何调用此函数并传递当前滚动坐标?

您有几个选项可以实现这一点

  • 使用AJAX将表单提交到脚本。滚动位置将保持不变
  • 提交时,将滚动位置保存到本地存储中;加载时,查看该项目是否在本地存储中;如果在本地存储中,则滚动到该项目并删除本地存储中的项目。否则,由于表单提交,此页面未加载
  • 使用
    a
    anchor。通常将表单提交到脚本,但将锚点附加到表单操作URL
使用AJAX将是最好的选择。但是附加一个锚是最容易实现的


为锚拉小提琴:

你有几个选择来实现这一点

  • 使用AJAX将表单提交到脚本。滚动位置将保持不变
  • 提交时,将滚动位置保存到本地存储中;加载时,查看该项目是否在本地存储中;如果在本地存储中,则滚动到该项目并删除本地存储中的项目。否则,由于表单提交,此页面未加载
  • 使用
    a
    anchor。通常将表单提交到脚本,但将锚点附加到表单操作URL
使用AJAX将是最好的选择。但是附加一个锚是最容易实现的


为锚拉小提琴:

提交表单后,您将加载一个新的(或重新加载相同的)页面。。。因此,使用cookies或locastorage,或者在提交中发送一些东西,然后在表单提交的结果中返回。。当然,我可能有点不对劲,因为没有代码可供参考。如果您可以将请求设置为ajax请求,那么表单提交后页面将不会重新加载,滚动位置将保持不变。表单提交后不需要重新加载页面。在提交表单后,您将加载一个新的(或重新加载相同的)页面。。。因此,使用cookies或locastorage,或者在提交中发送一些东西,然后在表单提交的结果中返回。。当然,我可能有点不对劲,因为没有代码可供参考。如果您可以将请求设置为ajax请求,那么表单提交后页面将不会重新加载,滚动位置将保持不变。表单提交后不需要重新加载页面。如果用户在多个选项卡中打开同一页面,那么使用localStorage进行此操作可能会产生意外行为。会话存储在这方面会更安全。@IlmariKaronen我不确定用户为什么会在多个选项卡中打开同一页。但总有两个其他选项可供使用。:)如果用户在多个选项卡中打开了同一页面,则为此使用localStorage可能会产生意外行为。会话存储在这方面会更安全。@IlmariKaronen我不确定用户为什么会在多个选项卡中打开同一页。但总有两个其他选项可供使用。:)