如何在弹出窗口(模态)中将焦点设置在第一个文本框控件上?这是一个登录窗口。 我试过javascript,但那次失败了。
答案 0 :(得分:3)
尝试AjaxControlToolkit.Utility.SetFocusOnLoad(YouTextBoxID);
答案 1 :(得分:2)
以下是样本
在MARKUP中:
<asp:ModalPopupExtender runat="server" BehaviorID="UserSearchModalBehavior" ID="mpeSearch" PopupControlID="pUserSearch" TargetControlID="btnFindUser"
OkControlID="btnUserSearchClose" CancelControlID="ibClose" />
在JavaScript中:
<script language="javascript" type="text/javascript">
function pageLoad() {
var modalPopup = $find("UserSearchModalBehavior");
if (modalPopup != null) {
modalPopup.add_shown(OnPopupShow);
}
}
function OnPopupShow() {
var tb = $get("tbSearchQuery");
tb.focus();
}
</script>
答案 2 :(得分:1)
在body onload
您可以添加一些javascript
。并将焦点设置为您想要的文本框
E.g:
<script type="text/javascript">
function setFocus() {
document.getElementById('TextBox2').focus();
}
</script>
<body onload="setFocus();">
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick='ani1();' />
</form>
</body>
TextBox2
一旦加载页面就会聚焦
答案 3 :(得分:1)
只需在ASP.NET页面的focus()
事件中使用onload
来声明TextBox:
<body onload="document.getElementById('<%= yourTextBoxID.ClientID %>').focus();"></body>
您可以将<body>
标记与内容占位符或表单一起使用。
答案 4 :(得分:1)
如果你想从js调用弹出窗口,请使用:
function openPopup() {
$find('BehaviorID_of_your_popup').show();
document.getElementById('<%= theTextBox.ClientID %>').focus();
}
如果你想从服务器端调用它,这应该有效:
protected void btnShow_Click(object sender, EventArgs e)
{
popup.Show();
theTextBox.Focus();
}