Validation 无法以编程方式(jQuery/javascript)将页面滚动到顶部

Validation 无法以编程方式(jQuery/javascript)将页面滚动到顶部,validation,scroll,summary,Validation,Scroll,Summary,在保存一个相当长的页面时,如果视图模型有验证错误,我希望焦点返回到页面的顶部,但它没有 验证摘要位于视图的顶部: <div class="error" id="validationSummary"> <div class="row"> <div class="span6" id="bookmarker"> @Html.ValidationSummary(False) </div>

在保存一个相当长的页面时,如果视图模型有验证错误,我希望焦点返回到页面的顶部,但它没有

验证摘要位于视图的顶部:

<div class="error" id="validationSummary">
    <div class="row">
        <div class="span6" id="bookmarker"> 
            @Html.ValidationSummary(False)
        </div>
    </div>
</div>
…等等

我在很多页面上都有这个问题,但在一些页面上,我通过将验证摘要嵌套在更多的DIV标记中来解决这个问题


在任何情况下,我在这一点上都相当困惑,花了太多时间尝试这个和那个…任何帮助/想法都是天赐良机。

首先,你需要将页面的焦点设置为实际的正文,而不是DIV。其次,你可以使用javascript代码导航回顶部

((IJavaScriptExecutor)webapplication).ExecuteScript("window.scrollTo(0, document.body.scrollHeight 0)");
如果你想要更多的信息和细节,我已经在这里发布了一个类似但更详细的答案,尽管它是针对c#的,你唯一需要编辑的代码是为页面主体编写SetFocus的方式:

希望这对你有用。对不起,我不知道这篇文章是很久以前写的

((IJavaScriptExecutor)webapplication).ExecuteScript("window.scrollTo(0, document.body.scrollHeight 0)");