javascript:检测用户是否被重定向到该页面

标签 javascript laravel redirect

当文件输入的验证(在 Laravel 项目中)失败时,用户将被重定向到当前页面。
问题是用户必须先向下滚动才能看到错误消息以及他做错了什么。

这似乎不是我能想到的最好的用户体验。
所以我认为最好重定向到页面并“向下滚动”(通过 javascript)到用户犯错误的地方;

我可以使用 scrollIntoView() 来做到这一点,我只需要查明用户是否被重定向到该页面(仅当验证失败时才会发生)

我尝试过这个:

if (window.performance.navigation.type == 0) {
    specificElement.scrollIntoView();
}

但是如果用户在表单提交后到达那里(这发生在之前 - 我一个接一个地有两个表单),它也将是0,所以这个“解决方案”对我没有帮助完全没有。

有什么办法可以发现用户已重定向吗?

最佳答案

我认为首先检查是否存在验证错误会更容易.. 因此,如果存在,请运行 javascript srollintoview..

在 Laravel 5.7 中你可以使用

   @if ($errors->any())
       <script>
            element.scrollIntoView();
       </script>
   @endif

关于javascript:检测用户是否被重定向到该页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58504253/

相关文章:

ruby - 在 rails 3.1 中几秒钟后重定向

apache - 为什么 Apache 永久重定向会删除域和路径之间的斜线?

javascript - 在 JavaScript 中设置根路径

mysql - Laravel 中使用一个函数向多个表中插入数据

php - 未找到列 : 1054 Unknown column laravel

php - 使用关系和连接选择数据库行

c# - 如何在 win64 上禁用重定向

javascript - Flot Graph 与轴和工具提示不一致?

javascript - 如何通过postmessage发送json

javascript - 无能为力。 Firefox 中的 jQuery 图像交换问题,适用于 IExplorer 8