Javascript jQuery表单验证-Can';默认后不提交
我刚刚开始学习jQuery,并尝试创建自己的表单验证作为一种学习方法 我试图实现的是,在提交表单时,它将检查class.required中的任何字段是否为空,如果为空,则突出显示该字段。这可以很好地工作,但是当表单正确填写后,它将不会提交 我真的看不出我错在哪里。如果有人能帮忙,我将不胜感激Javascript jQuery表单验证-Can';默认后不提交,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,我刚刚开始学习jQuery,并尝试创建自己的表单验证作为一种学习方法 我试图实现的是,在提交表单时,它将检查class.required中的任何字段是否为空,如果为空,则突出显示该字段。这可以很好地工作,但是当表单正确填写后,它将不会提交 我真的看不出我错在哪里。如果有人能帮忙,我将不胜感激 $('#contact').submit(function(event) { event.preventDefault(); var isFormValid = true; $('.req
$('#contact').submit(function(event) {
event.preventDefault();
var isFormValid = true;
$('.required').each(function() {
if ($(this).val() == '') {
$(this).removeClass("valid").addClass('invalid');
isFormValid = false;
}
});
if(isFormValid = true) {
$('#contact').submit();
}
});
您正在尝试递归提交表单。当您调用
.submit()
(阻止实际提交)时,同一个处理程序再次被命中
您还在if
中指定标志if(isFormValid=true)
应该使用=
,但无论如何都不需要该代码
将preventDefault
移动到实际失败的位置,不要尝试重新提交。就让它过去吧
$('#contact').submit(function(event) {
$('.required').each(function() {
if ($(this).val() == '') {
$(this).removeClass("valid").addClass('invalid');
// only prevent submit if there is a problem
event.preventDefault();
}
});
});
您正在尝试递归提交表单。当您调用.submit()
(阻止实际提交)时,同一个处理程序再次被命中
您还在if
中指定标志if(isFormValid=true)
应该使用=
,但无论如何都不需要该代码
将preventDefault
移动到实际失败的位置,不要尝试重新提交。就让它过去吧
$('#contact').submit(function(event) {
$('.required').each(function() {
if ($(this).val() == '') {
$(this).removeClass("valid").addClass('invalid');
// only prevent submit if there is a problem
event.preventDefault();
}
});
});
您正在尝试递归提交表单。当您调用.submit()
(阻止实际提交)时,同一个处理程序再次被命中
您还在if
中指定标志if(isFormValid=true)
应该使用=
,但无论如何都不需要该代码
将preventDefault
移动到实际失败的位置,不要尝试重新提交。就让它过去吧
$('#contact').submit(function(event) {
$('.required').each(function() {
if ($(this).val() == '') {
$(this).removeClass("valid").addClass('invalid');
// only prevent submit if there is a problem
event.preventDefault();
}
});
});
您正在尝试递归提交表单。当您调用.submit()
(阻止实际提交)时,同一个处理程序再次被命中
您还在if
中指定标志if(isFormValid=true)
应该使用=
,但无论如何都不需要该代码
将preventDefault
移动到实际失败的位置,不要尝试重新提交。就让它过去吧
$('#contact').submit(function(event) {
$('.required').each(function() {
if ($(this).val() == '') {
$(this).removeClass("valid").addClass('invalid');
// only prevent submit if there is a problem
event.preventDefault();
}
});
});
if(isFormValid=true){should is if(isFormValid=true){should is if(isFormValid=true){should is if(isFormValid=true){should is if(isFormValid=true){should is if(isFormValid=true){should is if(isFormValide){我认为第一个$('contact')。submit(函数(事件){}覆盖$('contact')).submit(),这可能会导致递归。请尝试执行此操作
//当用户单击提交时
$('#contact')。提交(函数(事件){
//使用类“required”遍历输入
$('.required')。每个(函数(){
/**
*我们假设这是一个有效的输入。
*因为如果一个用户可能在多个输入中出错
*但在不知情的情况下成功地纠正了其中一个错误
*最后一个仍然是错误的,只需标记单个字段就有意义了
*无效。
**/
$(this.addClass('valid');
如果($(this.val()=''){
//仅在用户输入无效时防止默认设置
event.preventDefault();
//显示哪个字段无效
$(this).removeClass(“有效”).addClass(“无效”);
}
});
});
我认为第一个$('#contact').submit(函数(事件){…})覆盖了$('#contact').submit(),这可能会导致递归。因此请尝试这样做
//当用户单击提交时
$('#contact')。提交(函数(事件){
//使用类“required”遍历输入
$('.required')。每个(函数(){
/**
*我们假设这是一个有效的输入。
*因为如果一个用户可能在多个输入中出错
*但在不知情的情况下成功地纠正了其中一个错误
*最后一个仍然是错误的,只需标记单个字段就有意义了
*无效。
**/
$(this.addClass('valid');
如果($(this.val()=''){
//仅在用户输入无效时防止默认设置
event.preventDefault();
//显示哪个字段无效
$(this).removeClass(“有效”).addClass(“无效”);
}
});
});
我认为第一个$('#contact').submit(函数(事件){…})覆盖了$('#contact').submit(),这可能会导致递归。因此请尝试这样做
//当用户单击提交时
$('#contact')。提交(函数(事件){
//使用类“required”遍历输入
$('.required')。每个(函数(){
/**
*我们假设这是一个有效的输入。
*因为如果一个用户可能在多个输入中出错
*但在不知情的情况下成功地纠正了其中一个错误
*最后一个仍然是错误的,只需标记单个字段就有意义了
*无效。
**/
$(this.addClass('valid');
如果($(this.val()=''){
//仅在用户输入无效时防止默认设置
event.preventDefault();
//显示哪个字段无效
$(this).removeClass(“有效”).addClass(“无效”);
}
});
});
我认为第一个$('#contact').submit(函数(事件){…})覆盖了$('#contact').submit(),这可能会导致递归。因此请尝试这样做
//当用户单击提交时
$('#contact')。提交(函数(事件){
//使用类“required”遍历输入
$('.required')。每个(函数(){
/**
*我们假设这是一个有效的输入。
*因为如果一个用户可能在多个输入中出错
*但成功地纠正了其中一个错误