1

我有一个文本框txtUser,用户可以在其中输入用户名,并且该文本框旁边有一个删除按钮。我正在OnClientClick使用<asp:button>.

消息是:您确定要删除此用户吗?这行得通。

我想将此消息更改为您确定要删除“用户名”吗?通过使用从文本框中获取用户名的值GetElementByID("<%= txtUser.ClientID %>")并将其存储在变量中user

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

现在我想username在 OnClientClick 调用中使用这个变量。我尝试了这样的事情,但没有奏效:

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

2 回答 2

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.

于 2013-05-10T03:15:20.547 回答
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>
于 2013-05-10T04:15:48.910 回答