或许是快速而愚蠢的问题,但如何将标签的文本传递给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" />
谢谢!
答案 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');”