设置div可见

时间:2013-04-09 08:29:27

标签: javascript jquery

我想设置可见valError。我尝试了一切,但它不起作用。有人可以帮帮我吗?

<script type="text/javascript">    
    function ValidateTextBox(elem) {
        if (elem.val() == "") {                
            return false;
        }
        else return true;
    }

    function ValidateForm() {
      var a = ValidateTextBox($('[id$=txtBxLangName]'));

      if (a)
          return true;
      else {                                          
          $('#valError').html('Please fill required field');
          $('#valError').show();
          return false;
           }
     } 
</script>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
   <div class="alert alert-error" visible="false" id="valError" runat="server">                       
   </div>                         
   <asp:TextBox ID="txtBxLangName" runat="server" CssClass="textEntry">
   </asp:TextBox>
   <asp:Button ID="btnNewAndUpdate" runat="server" Text="Save" OnClick="btnNewAndUpdate_Click" OnClientClick="return ValidateForm()" />
</asp:Content>

3 个答案:

答案 0 :(得分:9)

<div class="alert alert-error" visible="false" id="valError" runat="server">  

应该是

<div class="alert alert-error" style="display: none" id="valError" runat="server">  

然后.show()将有效。

仅为了其他人查看此内容的目的,下面的答案显示了此解决方案需要的其他工作:

 <asp:TextBox ID="txtBxLangName" runat="server" CssClass="textEntry" ClientIDMode="Static">
 </asp:TextBox>

答案 1 :(得分:2)

@thedixon答案是正确的,但你也有另一个问题。当.net将其呈现给客户端时,文本框txtBxLangName可能没有该ID。尝试添加值{static ClientIDMode以确保ID设置为txtBxLangName

 <asp:TextBox ID="txtBxLangName" runat="server" CssClass="textEntry">
   </asp:TextBox>

变为

 <asp:TextBox ID="txtBxLangName" runat="server" CssClass="textEntry" ClientIDMode="Static">
   </asp:TextBox>

答案 2 :(得分:-1)

它应该显示.show,确保#valError div中包含一些内容或设置它的宽度,高度和背景并尝试显示块。

$('#valError').css('display','block');