0

可視に設定したい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>
4

3 に答える 3

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>
于 2013-04-09T08:30:54.430 に答える
2

@thedixonの答えは正しいですが、別の問題もあります。txtBxLangName.net がクライアントにレンダリングするときに、テキスト ボックスにその ID がない場合があります。ClientIDMode値 static を追加して、ID が確実にtxtBxLangName

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

になる

 <asp:TextBox ID="txtBxLangName" runat="server" CssClass="textEntry" ClientIDMode="Static">
   </asp:TextBox>
于 2013-04-09T08:33:29.630 に答える
-1

.show で表示する必要があります。#valError div にコンテンツが含まれていることを確認するか、幅、高さ、背景を設定して表示ブロックを試してください。

$('#valError').css('display','block');
于 2013-04-09T08:34:53.780 に答える