簡體   English   中英

將焦點設置為文本框中的按鈕?

[英]Setting focus to a button from text box?

我的表單上有一些文本框和按鈕。

假設txtBox1在btnSubmit1旁邊,txtBox2在btnSubmit2旁邊,txtBox3在btnSubmit3旁邊。

當用戶開始在txtBox3中鍵入內容時,如何設置btnSubmit3的焦點。 含義.....如果用戶在文本框中鍵入內容,則程序將在用戶按下Enter鍵時知道要觸發哪個按鈕。

如果使用面板,則應該能夠設置默認按鈕。 我不確定這是Win Form應用程序還是Web Form應用程序,但這是您應該如何使用Web Forms的方法:

<asp:Panel id="panel1" runat="server" DefaultButton="Button1">
   <asp:TextBox id="textbox1" runat="server" />
   <asp:Button id="Button1" runat="server" Text="Button 1" />
</asp:Panel>

<asp:Panel id="panel2" runat="server" DefaultButton="Button2">
   <asp:TextBox id="textbox2" runat="server" />
   <asp:Button id="Button2" runat="server" Text="Button 2" />
</asp:Panel>

<asp:Panel id="panel3" runat="server" DefaultButton="Button3">
   <asp:TextBox id="textbox3" runat="server" />
   <asp:Button id="Button3" runat="server" Text="Button 3" />
</asp:Panel>

使用JavaScript並為這些TextBox添加一個“ onblur” ...

例:

<asp:TextBox ID="t1" runat="server" onblur="CheckIfTextBox1ShouldFocusOnButton1();" />

:)

我已經看到它是這樣做的,但不要讓我解釋它,也不要說它相對於其他方法的優缺點。 只是認為我會發布它,以防它對您有用。

// Fires a particular event when enter is pressed within a textbox.
function FireButtonOnEnter(controlID)
{
    if((event.which ? event.which : event.keyCode) == 13)
    {
        window.event.returnValue = false;
        window.event.cancelBubble = true;
        document.getElementById(controlID).click();
    }
}

通過為文本框添加以下內容來調用它...

txtOrgName.Attributes.Add("OnKeyDown", String.Format("return FireButtonOnEnter('{0}');", btnOrgNameGo.ID));

如果您知道唯一使用的瀏覽器是IE,則這是一個簡單的解決方案。

您只需要添加到頁面加載中

txtBox1.Attributes.Add("onKeyPress", "javascript:if (event.keyCode == 13)
__doPostBack('" + btnSubmit1.UniqueID + "','')");

txtBox2.Attributes.Add("onKeyPress", "javascript:if (event.keyCode == 13)
__doPostBack('" + btnSubmit2.UniqueID + "','')");

txtBox3.Attributes.Add("onKeyPress", "javascript:if (event.keyCode == 13) 
__doPostBack('" + btnSubmit3.UniqueID + "','')");

之所以只能在IE中使用,是因為它使用了Javascript“ event”關鍵字,而該關鍵字在Firefox中不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM