带有标签文本的JavaScript警报

时间:2015-04-16 08:04:05

标签: javascript asp.net

或许是快速而愚蠢的问题,但如何将标签的文本传递给javascript确认或提醒功能?

这是我所做的,但并不好:

<asp:Label ID="lblGVDeleteMessage" runat="server" Text="Show me!" style="display:none;" ></asp:Label>
<asp:ImageButton ID="btnDelete" runat="server" AlternateText="Delete" 
    CommandName="Delete" Height="15px" ImageUrl="~/Images/document_delete.png" 
    OnClientClick="return confirm('#<%=lblGVDeleteMessage.ClientID%>')" 
    Width="15px" />

谢谢!

3 个答案:

答案 0 :(得分:3)

你需要通过它的ID获取元素,然后读取它的innerHTML属性:

OnClientClick="return confirm(document.getElementById('<%=lblGVDeleteMessage.ClientID%>').innerHTML)"

但您可能需要考虑将逻辑移到另一个函数中:

脚本:

function showConfirm(id) {
    var elem = document.getElementById(id);
    return confirm(elem.innerHTML);
}

ASPX:

OnClientClick="return showConfirm('<%=lblGVDeleteMessage.ClientID%>')"

答案 1 :(得分:1)

您可能希望这样:

"return confirm(document.getElementById('#<%=lblGVDeleteMessage.ClientID%>').innerHTML)" 

根据下面的评论以及您必须首先动态地将文本设置为标签的事实,您是否可以将文本动态设置为调用?比输出一个永远隐藏的额外dom元素更简洁,例如:

"return confirm('<%# SomeFunctionTosetTheText() %>')" 

答案 2 :(得分:0)

我使其工作的唯一方法是在标签上设置ClientIDMode =“Static”,并在OnClientClick事件上执行此操作:“return showConfirm('lblGVDeleteMessage');”