一个很奇怪的问题,我有一个aspnet web表单的文本框。我使用 jquery 来验证文本框。如果未通过验证,则文本框会显示红色警告。到目前为止,如果我单击页面中的任何位置并假设我打算输入无效文本进行测试,那么一切都很好。
我的代码:(更新)
<script type="text/javascript">
$(document).ready(function () {
$("#<%=TextUserName.ClientID%>").blur(function () {
ValidateUserNameAfterBlur();
});
});
function ValidateUserName() {
$.ajax({ type: "POST",
url: "../UserNameWebService.asmx/ValidateUserName",
data: "{'strUsername': '" + $("#<%=TextUserName.ClientID%>").val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
return data;
}
});
}
function ValidateUserNameBeforeSubmitting() {
isValid = ValidateUserName();
return isValid;
}
function ValidateUserNameAfterBlur() {
isValid = ValidateUserName();
$('#TextUserNameError').toggle(!isValid);
}
</script>
其他一些标记代码:
<td class="style4">
<asp:TextBox ID="TextUserName" runat="server"></asp:TextBox>
</td>
<td>
<span id="TextUserNameError" style="display:none; color:Red; font-weight:bold;">This is not a valid username</span>
</td>
但是网页上有一个 asp.net 按钮。单击按钮后,错误确实出现了,但很快就消失了。
按钮的代码:
<p>
<asp:Button ID="btnSave" runat="server" Text="SaveChanges" OnClick="btnSave_Click"
CssClass="saveButton" ValidationGroup="answer" OnClientClick="return ValidateUserNameBeforeSubmitting();" />
</p>
我相信这是由回发引起的,但没有任何线索。感谢专家的帮助。
添加图像
和