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