如何使用JavaScript单击另一个按钮时隐藏/显示按钮

时间:2014-01-16 20:35:22

标签: javascript asp.net

我有一个默认隐藏的按钮,但只想在点击另一个按钮后才能看到该按钮。我使用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>

4 个答案:

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

  • 删除Visible,或将其设置为true
  • 使用css样式隐藏
  • 使用asp.net代码获取呈现的ID

答案 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;语句。