我是Jquery的新手,并使用了一个asp.net表单,其中我有3个文本框和1个按钮。我的代码正在运行,但是存在一个问题,即我的所有验证都不能同时运行。示例:我留下用户名文本框并再次输入密码和密码,只显示1个文本框错误。
我的Java脚本代码:
<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$("document").ready(function () {
$("#<%=style2.ClientID%>").click(function () {
var valid = false
errorMessage = ""
var pass = $("#<%=textbox4.ClientID%>").val();
var pass1 = $("#<%=textbox5.ClientID%>").val();
if ($("#<%=textbox1.ClientID%>").val() == '') {
errorMessage = "please enter your name \n"
valid = true
}
else if (pass != pass1) {
errorMessage = "password not match"
valid = true
}
if (valid==true) {
alert(errorMessage)
return false
}
});
$("#<%=textbox4.ClientID%>").keypress(function () {
$("#<%=Label1.ClientID %>").text(countlength($("#<%=textbox4.ClientID%>").val()))
function countlength(len) {
var count = 0
if (len.length < 8) {
return "Chracters Atleast 8"
}
else {
return "Strong Password"
}
}
});
});
</script>
答案 0 :(得分:0)
这是因为您将错误消息写为警报。如果要检查所有字段然后打开一条错误消息,则应在提交按钮上分配检查,并在填写所有字段并且用户想要提交表单时打开一个弹出窗口。
其他方式是单独检查每个字段并打开不弹出,但是例如在字段值更改后在输入字段下面带有错误消息的div。
答案 1 :(得分:0)
//从'if-else'语句中删除'else'并将错误消息与'+'符号连接
$("#<%=style2.ClientID%>").click(function ()
{
var valid = false
errorMessage = ""
var pass = $("#<%=textbox4.ClientID%>").val();
var pass1 = $("#<%=textbox5.ClientID%>").val();
if ($("#<%=textbox1.ClientID%>").val() == '') {
errorMessage = "please enter your name \n"
valid = true
}
//Remove else
if (pass != pass1) {
//concatenate error message
errorMessage += "password not match"
valid = true
}
if (valid==true) {
alert(errorMessage)
return false
}
});
希望这会奏效。