Javascript 如何在页面加载时将焦点设置为特定部分,并使浏览器滚动到该位置
我正在使用aps.net和vb.net 在我的应用程序中,在提交web表单(application.aspx)后,用户将被重定向到另一个(application\u complete.aspx)页面 application.aspx页面中的webform非常长。用户必须向下滚动很多次才能完成表单并提交。问题是在提交表单(appapplication.aspx)后,application_complete.aspx页面也变得很长(与application.aspx大小相同),尽管其中没有太多内容,并使浏览器自动定位在同一位置(页面底部)。因此,用户必须向上滚动才能阅读消息。这对用户来说是非常恼人的。(见图片) 图片1:(appapplication.aspx) 图片2:application\u complete.aspx 我需要什么 我想使页面(application_complete.aspx)在加载时位于页面顶部,并在该页面的消息部分设置焦点 这是我的应用程序_complete.aspx页面代码Javascript 如何在页面加载时将焦点设置为特定部分,并使浏览器滚动到该位置,javascript,jquery,html,asp.net,vb.net,Javascript,Jquery,Html,Asp.net,Vb.net,我正在使用aps.net和vb.net 在我的应用程序中,在提交web表单(application.aspx)后,用户将被重定向到另一个(application\u complete.aspx)页面 application.aspx页面中的webform非常长。用户必须向下滚动很多次才能完成表单并提交。问题是在提交表单(appapplication.aspx)后,application_complete.aspx页面也变得很长(与application.aspx大小相同),尽管其中没有太多内容,
<%@ Page Title="" Language="VB" MasterPageFile="~/c/MasterPage.master" AutoEventWireup="false" CodeFile="application-complete.aspx.vb" Inherits="c_application_complete" %>
<%@ MasterType VirtualPath="~/c/MasterPage.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="mainContent" Runat="Server">
<h2>Thank you! we have now received your application</h2>
<div class="btn-wrapper">
<a target="_parent" href="<%= Master.EmployerCareersHome %>" class="btn v-view-all">View other open positions</a>
</div>
</asp:Content>
我尝试在application_complete.aspx页面中添加以下脚本,并为div部分提供一个id
<asp:Content ID="Content3" ContentPlaceHolderID="ScriptContent" runat="server">
<script type="text/javascript">
$(document).ready(function() {
$("#<%= dvbtn.ClientID %>").focus();
});
</script>
</asp:Content>
但这不起作用
供参考
期待您的帮助。在您的页面中放置一个锚,类似于:
<a name="loadtohere" />
“loadtohere”文本可以更改为您想要的任何内容,它只是加载页面时移动页面的锚的名称。我的元素没有接收焦点的原因是因为它是
而不是实际的
元素<代码>默认情况下,元素不会作为选项卡顺序的一部分拾取,因此它们通常根本不会接收焦点
因此,我通过向div元素添加一个tabindex属性来解决聚焦问题
<div class="btn-wrapper" id="dvbtn" runat="server" tabindex="0" autofocus>
<a target="_parent" href="<%= Master.EmployerCareersHome %>" class="btn v-view-all">View other open positions</a>
</div>
还有剧本
<asp:Content ID="Content3" ContentPlaceHolderID="ScriptContent" runat="server">
<script type="text/javascript">
$(document).ready(function() {
$("#<%= dvbtn.ClientID %>").focus();
});
</script>
</asp:Content>
$(文档).ready(函数(){
$(“#”)焦点();
});
setfocus还解决了滚动的问题 像这样的事??我给出的是URL的例子,而不是它显示的内容。页面滚动到所需的部分。响应。重定向(“application complete.aspx?e=“&sampoint.EmployerID&&b=“&CInt(Request(“b”)&&i=“&sampoint.ID&&hp=“&Request(“hp”)&&hI=”&Request(“hI”)-您能详细说明一下吗。我这件衣服很差。这是我的重定向代码。你救了我。谢谢。
<a name="loadtohere" />
// Create the redirect link (better way of creating your string)
Dim redirect = String.Format("application-complete.aspx?e={0}&b={1}&i={2}&hp={3}&hI={4}#loadtohere, Vacancy.EmployerID, CInt(Request("b")), Vacancy.ID, Request("hp"), Request("hI"))
// Redirect to the page
Response.Redirect(redirect)
<div class="btn-wrapper" id="dvbtn" runat="server" tabindex="0" autofocus>
<a target="_parent" href="<%= Master.EmployerCareersHome %>" class="btn v-view-all">View other open positions</a>
</div>
<asp:Content ID="Content3" ContentPlaceHolderID="ScriptContent" runat="server">
<script type="text/javascript">
$(document).ready(function() {
$("#<%= dvbtn.ClientID %>").focus();
});
</script>
</asp:Content>