当文件输入的验证(在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

10-07 19:30
查看更多