我的窗體上有幾個文本框和按鈕。將焦點從文本框中設置爲一個按鈕?
比方說txtBox1毗鄰btnSubmit1, txtBox2毗鄰btnSubmit2, txtBox3毗鄰btnSubmit3。
當用戶開始在txtBox3中鍵入內容時,如何將焦點設置爲btnSubmit3。 含義.....如果用戶在文本框中鍵入,程序將知道當用戶按下回車鍵時要觸發哪個按鈕。
我的窗體上有幾個文本框和按鈕。將焦點從文本框中設置爲一個按鈕?
比方說txtBox1毗鄰btnSubmit1, txtBox2毗鄰btnSubmit2, txtBox3毗鄰btnSubmit3。
當用戶開始在txtBox3中鍵入內容時,如何將焦點設置爲btnSubmit3。 含義.....如果用戶在文本框中鍵入,程序將知道當用戶按下回車鍵時要觸發哪個按鈕。
如果您使用面板,您應該可以設置默認按鈕。我不確定是否it's一個雙贏的形式應用程序或Web窗體應用程序,但是這是你應該如何與Web窗體做到這一點:
<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>
好東西!謝謝!! – Etienne 2009-02-24 10:45:53
使用JavaScript,並添加一個「的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瀏覽器這隻能是,它使用的是不工作在Firefox JavaScript的「事件」關鍵詞。
我正在使用ASP.NET 2.0和VB.net代碼 – Etienne 2008-11-13 09:56:33
開始輸入時無法設置焦點 - 否則您將無法繼續輸入。您需要更改頁面的默認按鈕。 – DilbertDave 2008-11-13 09:58:28
當然,這是有道理的.....但是當我的所有3個文本框和按鈕都在1頁上時,我怎麼做呢?我需要知道什麼文本框來設置焦點取決於用戶在當前頁面上的位置。 – Etienne 2008-11-13 10:06:22