繁体   English   中英

如何在ASP.NET控件的OnClientClick属性中使用javascript变量

[英]How to use a javascript variable in the OnClientClick attribute of a ASP.NET control

我有一个文本框txtUser ,用户可以在其中输入用户名,此文本框旁边有一个删除按钮。 我使用<asp:button>OnClientClick属性提供删除确认。

消息是: 您确定要删除此用户吗? 这有效。

我想将此消息更改为您确定要删除“用户名”吗? 通过使用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>

快好了...

<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

对于想要了解您所做的事情的下一位开发人员来说,这一点更为清晰

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM