我正在使用(或试图)JQuery Validation使用WebForms / html。
我基本上(简化真正的html,仅显示元素):
<input id="txtEmail"/>
<input id="txtTicketID"/>
<a id="create" href="#">Create a new ticket</a>
<a id="find" href="#">Find this ticket</a>
验证/操作的javascript在这里:
$(function() {
$("#aspnetForm").validate({
rules: {
txtEmail: {
required: true,
email: true
,
messages: {
required: "* enter your e-mail",
email: "* invalid e-mail"
}
},
txtTicketID: {
required: true,
digits: true,
messages: {
required: "*",
digits: "* invalid ticket"
}
}
},
onfocusout: true,
onkeyup: true,
onsubmit: false,
debug: true
});
$("#create").click(function() {
if ($("#aspnetForm").valid()) {
var email = $("#txtEmail").val();
if (email != "")
window.location = "CreateTicket.aspx?email=" + email;
}
});
$("#find").click(function() {
if ($("#aspnetForm").valid()) {
var email = $("#txtEmail").val();
var ticketID = $("#txtTicketID").val();
if (email != "" && ticketID != "")
window.location = "DetailEditTicket.aspx?email=" + email + "&ticketID=" + ticketID;
}
});
});
它根本不起作用..链接上的valid()单击总是返回true,即使字段为空或错误。
当我输入内容,模糊等时,没有任何东西可以进行验证。
你看到这个缺少什么吗?
答案 0 :(得分:4)
validate(rules:{})
采用由name:{object}
模式组成的选项,您传递的是id:{object}
模式。尝试:
<input id="txtEmail" name="txtEmail"/>
<input id="txtTicketID" name="txtTicketID"/>
<a id="create" href="#">Create a new ticket</a>
<a id="find" href="#">Find this ticket</a>
答案 1 :(得分:0)
您可能错过了一些代码,但看起来您正在调用“有效”功能,但您已将其设置为“验证”。因此,验证电子邮件和票证ID的功能根本没有运行。