我有一个默认隐藏的按钮,但只想在点击另一个按钮后才能看到该按钮。我使用JavaScript来实现这一目标,但到目前为止它还没有工作,我不确定我在这里做错了什么。
以下是触发showButton函数的代码:
<asp:Button ID="btnUpdate" runat="server" Text="SAVE" OnClick = "Update" Visible = "false" OnClientClick="return showButton();"
Font-Bold="False" Font-Size="Large" Height="30px" Width="157px"/>
这是默认隐藏的按钮
<asp:Button ID="btnSubmit" runat="server" Text="Submit" Width="183px" Visible="false"
onclick="btnSubmit_Click"
OnClientClick="return validate();"
Font-Bold="True" Font-Size="Medium" Height="30px"
style="margin-right: 1px; margin-left: 185px;" ForeColor="#336699" />
这是我的javascript:
<script type ="text/javascript">
function showButton() {
document.getElementById('btnSubmit').style.visibility = 'visible';
}
</script>
答案 0 :(得分:2)
在设置Visible="false"
时在asp.net上意味着按钮甚至不会在页面上呈现。
所以你的代码无法正常工作,因为首先你的按钮不存在于最终页面上,而不是在最后一页上呈现。
你必须做的是用css隐藏它,例如,添加style="visibility:hidden"
和Visible="true"
。
其次,当您尝试使用javascript获取它时,您需要将最终呈现的ID作为
<script type ="text/javascript">
function showButton() {
document.getElementById('<%=btnSubmit.ClientID%>').style.visibility = 'visible';
}
</script>
要sumarize
答案 1 :(得分:0)
您可以使用类或直接在样式中修改块和无块之间的显示:样式。
答案 2 :(得分:0)
您没有明确设置ClientID
的{{1}}属性,因此根据您的网页配置方式,您可能会使用ID生成按钮的实际asp:Button
属性与“btnSubmit”不同。您应检查生成的标记,并确保您尝试查找的ID与ASP.NET为该按钮“生成”的ID匹配。
这是ClientID上的MSDN's docs。
答案 3 :(得分:0)
我对ASP并不熟悉,所以我无法解决它的问题,但我知道您使用return showButton();
作为onclick
函数,但是{{1}函数不返回任何内容。虽然有些浏览器可以解决这个问题(最新版本的Firefox似乎并不关心),但有些浏览器可能没有。
尝试将showButton
更改为OnClientClick="return showButton();"
或在OnClientClick="showButton();"
功能的末尾添加return true;
语句。