我想设置可见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>
答案 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');