javascript - 窗体或面板中的默认焦点未设置在 Web 浏览器控件内

标签 javascript asp.net vb6 webbrowser-control

我正在使用 defaultfocus属性以在窗体或面板中设置默认焦点。我正在尝试为文本框设置默认焦点,它在浏览器中正常工作。

但是当使用 VB6 中的网络浏览器控件加载同一页面时,我遇到了问题。使用 web 浏览器控件(VB6 Microsoft internet 控件)加载页面时,不会设置默认焦点。我尝试对一个简单的表单使用相同的方法,但它不起作用。我尝试在页面加载中使用 .focus,但它在网络浏览器控件中也不起作用。 然后我尝试刷新页面如下所示

WebBrowser1.Navigate "url here"
WebBrowser1.Refresh

如果我使用刷新,那么焦点将被正确设置。但这将再次加载页面(它再次加载 aspx 的形式)。那么在我的 ASP 网站中还有其他更好的解决方案吗?或任何可以做同样事情的解决方案?

最佳答案

我尝试了通过 WinForm 代码执行此操作的各种方法,但都不是很有效。如果您需要将焦点设置到文本框,使用 JavaScript 可能会更好。

如果文本框是 ASP.net 服务器控件,您可以使用:

<html>
<head>
</head>
<body>

<form runat="server">


    <asp:TextBox id="FirstBox" runat="server" /><br>
    <asp:TextBox id="SecondBox" runat="server" />

    <script language="javascript" type="text/javascript">
        var field = '<%= SecondBox.ClientID%>';
        document.getElementById(field).value = field;
        document.getElementById(field).focus();
        document.getElementById(field).select();
    </script>
</form>

</body>
</html>

enter image description here

关于javascript - 窗体或面板中的默认焦点未设置在 Web 浏览器控件内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22328766/

相关文章:

c# - 需要根据母版页控件的值在同一页面上显示 2 个不同的横幅 Sprite

c# - 使用相同数据库问题的 Web 和 Windows 窗体应用程序

jquery - Internet Explorer 11 默认文档查看模式为 Edge

javascript - Electron/Linux : Give fullscreen back to previous application

javascript - 使用 jQuery 在选中复选框时更改下拉菜单

javascript - Vue.js - 如何访问子组件的计算属性(Vuetify 数据表)

vb6 - 使用记录集填充 VB6 中的 DBCOMBO

javascript - 如何随机旋转图像javascript?

VB.net 将结构传递给非托管 dll

vb6 - 迭代 VB6 字典