Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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_Jquery_Html_Asp.net_Vb.net - Fatal编程技术网

Javascript 如何在页面加载时将焦点设置为特定部分,并使浏览器滚动到该位置

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大小相同),尽管其中没有太多内容,

我正在使用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页面代码

<%@ 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>
但这不起作用

供参考

  • 整个web表单及其所有功能都在iframe中。是否可以使父web页面从iframe滚动到特定位置(在顶部)

  • 虽然由于表单太长(在application.aspx页面中),application\u complete页面中的内容不多,但该页面(application\u complete)也会变长。如果有人刷新该页面,则该页面会恢复到原来的大小,并集中在顶部位置。但是刷新会导致表单的重新提交,所以不能这样做


  • 期待您的帮助。

    在您的页面中放置一个锚,类似于:

    <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>