2013-05-10 32 views
1

我有一個文本框txtUser,用戶可以在其中輸入用戶名,並且此文本框旁邊有一個「刪除」按鈕。我正在使用<asp:button>OnClientClick屬性提供刪除確認。如何在ASP.NET控件的OnClientClick屬性中使用javascript變量

該消息是:您確定要刪除此用戶嗎?這有效。

我要將此信息更改爲您確定要刪除'用戶名'?使用GetElementByID("<%= txtUser.ClientID %>")從文本框中獲取用戶名的值,並將其存儲在一個變量user

<script type="text/javascript"> 
var username = document.GetElementByID(<%= txtUser.ClientID %>") 
</script> 

現在我想在通話的OnClientClick使用該username變量。我想這樣的事情,但它沒有工作:

<asp:Button ID="BtnDelete" runat="server" 
OnClientClick="return confirm('Are you sure you want delete "+username+"');"> 
Delete</asp:Button> 

回答

2

幾乎沒有...

<script type="text/javascript"> 
var username = document.getElementByID("<%= txtUser.ClientID %>").value; 
</script> 

然後

<asp:Button ID="BtnDelete" runat="server" OnClientClick="return confirm('Are you sure you want delete '+username+'?');">Delete</asp:Button> 

應該這樣做。您需要獲取文本框的值,然後將用戶名添加到您確定的字符串中,而不是將其附加到ASP控件。

作爲可能發出警告的單詞,如果在呈現文本框之前嘗試獲取文本框的值並將其分配給username,則會導致錯誤。確保username的分配位於標記中的文本框之後,或者使用諸如window.onload之類的內容。

+0

我確信腳本標記是在標記文本之後的下一個開發者更清晰一點,但我我看到警報訊息爲_你確定要刪除undefined_嗎? – Animesh 2013-05-10 03:31:19

+0

我會確保'txtUser.ClientID'返回與源代碼中的< 2013-05-10 03:45:55

+0

我一直在獲取'object does not support GetElementById'我檢查了IE JS調試器。事實證明,這與編寫'GetElementById'而不是'getElementById'一樣簡單。謝謝! – Animesh 2013-05-10 04:39:02

1

這是誰願意看你做了什麼

<script type="text/javascript"> 
function getUserName() 
{ 
var userTextBoxId ='<%= txtUser.ClientID %>'; 
return document.getElementByID(userTextBoxId).value; 
} 
</script> 

然後

<asp:Button ID="BtnDelete" runat="server" OnClientClick="return confirm('Are you sure you want delete ' + getUserName() + '?');">Delete</asp:Button> 
+0

謝謝!你的回答對我也有幫助。 – Animesh 2013-05-10 04:39:19

相關問題