我在asp.net中創建web應用程序。我有5個文本框是asp控件。我想要得到哪個文本框在那個時候關注,然後當我按下「添加」按鈕時,「hello」文本必須添加到特定的文本框中,在按下「添加」按鈕之前,文本框已被聚焦。如何確定哪個文本框是關注的並向其添加文本?
我需要Asp.net(用C#代碼)移動到我的下一個步驟
我在asp.net中創建web應用程序。我有5個文本框是asp控件。我想要得到哪個文本框在那個時候關注,然後當我按下「添加」按鈕時,「hello」文本必須添加到特定的文本框中,在按下「添加」按鈕之前,文本框已被聚焦。如何確定哪個文本框是關注的並向其添加文本?
我需要Asp.net(用C#代碼)移動到我的下一個步驟
自從上次重點將放在添加按鈕,你需要「記住」文本框單擊該按鈕之前。
嘗試使用onfocus()事件。
<!-- Add a HiddenField control to "remember" the id of a TextBox -->
<asp:HiddenField ID="HiddenField1" runat="server" />
<!-- Assign current focus to that hidden field -->
<asp:TextBox onfocus="document.getElementById('HiddenField1').value=this.id" ...>
<asp:TextBox onfocus="document.getElementById('HiddenField1').value=this.id" ...>
如果成功,你將能夠獲得在代碼後面的值作爲
string c = HiddenField1.Value;
if (!string.IsNullOrEmpty(c))
if (c == "TextBox1")
TextBox1.Text = "hi there";
注:取決於你的環境,你可能需要調用客戶端ID(如getElementById('<%=HiddenField1.ClientID%>')
UPDATE
正如我上面告訴你的,你可能需要使用HiddenField1.ClientID來查找HiddenField控件。當你的源看起來
<input type="hidden" name="ctl00$MainContent$HiddenField1" id="MainContent_HiddenField1" />
<input name="ctl00$MainContent$TextBox1" type="text" id="MainContent_TextBox1"
onfocus="document.getElementById('HiddenField1').value=this.id" />
<input name="ctl00$MainContent$TextBox2" type="text" id="MainContent_TextBox2"
onfocus="document.getElementById('HiddenField1').value=this.id" />
<input type="submit" name="ctl00$MainContent$Button1" value="Button" id="MainContent_Button1" />
這意味着,您使用母版和asp.net改變你的控制MainContent_HiddenField1
的ID。所以當你使用document.getElementById('HiddenField1')
時,它不會找到這樣的控件,因爲它的id是不同的。你要麼需要使用
document.getElementById('MainContent_Button1').value=this.id
這將工作,但如果刪除母版頁或將文本框移動到其他容器
或使用
document.getElementById('<%=HiddenField1.ClientID%>').value=this.id
將自動注入正確可能需要更改id(推薦asp.net的方式)
謝謝。而我嘗試使用您的代碼,它顯示錯誤,如「Microsoft JScript運行時錯誤:'document.getElementById(...)'爲空或不是對象」。該怎麼辦 ? – 2015-03-25 08:41:05
您是否嘗試按上面的建議更改'getElementById('<%= HiddenField1.ClientID%>')'?該錯誤意味着'HiddenField1'找不到,這意味着asp.net動態地將它改爲其他的id。 – Alex 2015-03-25 08:50:32
我試過「getElementById('<%= HiddenField1.ClientID%>')」,同樣的錯誤得到 – 2015-03-25 08:58:32
這是你的意思嗎? http://stackoverflow.com/questions/497094/how-do-i-find-out-which-dom-element-has-the-focus – 2015-03-25 06:27:36