数码资讯
jQuery验证不通过并提交表单问题处理
ValidationEngine已经降低了对前端的表单验证的工作量。大多数情况下,我们使用validationengine验证形式的几种方法。 1是用普通形式提交的。这是一例validationengine验证不通过形式。 2使用Ajax提交表单,但不使用Ajax验证。 这也是在使用Ajax请求之前
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
ValidationEngine已经降低了对前端的表单验证的工作量。大多数情况下,我们使用validationengine验证形式的几种方法。
1是用普通形式提交的。这是一例validationengine验证不通过形式。
2使用Ajax提交表单,但不使用Ajax验证。
这也是在使用Ajax请求之前检查验证是否已被传递的一种简单方法,例如:
复制代码代码如下所示:
验证没有返回
如果(!$(形式# ajaxform)。ValidationEngine(验证))返回;
$ ajax({
类型:邮政
网址:$(# ajaxform)。Attr(行动),
数据:$(# ajaxform )Serialize(),
DataType:HTML
成功:函数(数据){
XXXX }
});
3、使用普通表单提交,但用ajax验证,这种方式有点纠结。提交表单时,无法通过Ajax验证,也可以提交表单。在这种情况下,许多在线示例被转换为源代码,下面是截图。
这种方法在当前形势下是可行的。修改方法本身不推荐。它可能会影响其他地方。
复制代码代码如下所示:
功能beforecall(形式、期权){
如果(窗口控制台){
console.log(后的表单提交验证通过,回调前阿贾克斯提交);
};
返回true;
};
功能ajaxvalidationcallback(地位、形式、JSON、期权){
如果(窗口控制台){
console.log(状态);
};
如果(状态=真){
警告()表单有效!;
}
};
jQuery(文档)Ready(函数()){
jQuery(#之),ValidationEngine({
ajaxformvalidation:真的,是否提交使用AJAX / /
ajaxformvalidationmethod:'post ' / Ajax提交,发送数据的方式
OnAjaxFormComplete:ajaxvalidationcallback / / Ajax验证表单提交完成后
onbeforeajaxformvalidation:beforecall / /表单提交验证通过Ajax后,在回调之前提交
});
});
beforecall这个方法没有被调用,因此它不能用。
4使用ajax验证并使用ajax提交表单,这种方式很纠结,修改源代码的方式不好。
对于第三种和第四种方法,解决方案如下:
自定义属性控制项被添加到Ajax验证表单的表单标记中。控件的值是控制Ajax验证的ID(多个控件用逗号分隔)。
复制代码代码如下所示:
两个属性添加URL(Ajax请求的地址)和每个控制误差,需要验证。
复制代码代码如下所示:
两个全局数组在Javascript中声明。
复制代码代码如下所示:
VaR controlID =新(阵列); / /保存验证不通过控件ID
var错误=新的(数组);通过验证保存的消息
想法是让控件属性对这种形式的价值标签(每个ID控制逗号),Ajax请求使用遍历,当验证不通过控件ID和提示信息添加到controlID和错误和消息。当提交表单判断controlID是空的,不是空的圆形显示消息。
复制代码代码如下所示:
$(函数(){())
无功ajaxform2controls = $(形式# ajaxform2controls );
表单提交时
$(ajaxform2controls)。提交(函数(){)
ajaxform2control(ajaxform2controls);
返回false;
});
验证控件丢失焦点
valcontrols(ajaxform2controls);
});
表单提交方法:
复制代码代码如下所示:
功能ajaxform2control(obj){
当返回错误信息时,显示错误信息
如果(controlid.length > 0){
Alertinfo();
返回false;
}
如果(!$(obj)。ValidationEngine(验证))return false; / /验证没有AJAX验证控件的使用(现场不是Ajax验证是正常的验证,返回)
$ ajax({
类型:邮政
网址:$(obj)。Attr(行动),
数据:$(obj)。Serialize(),
DataType:HTML
成功:函数(数据){
xxxxxx
}
});
}
为窗体添加焦点事件
复制代码代码如下所示:
需要验证控件的窗体
功能valcontrols(ajaxform2controls){
获取/需要使用Ajax验证控件
无功controlsstr = ajaxform2controls.attr(控制);
未定义的返回属性
如果(typeof(controlsstr)=未定义| | controlsstr.length <= 0)返回;
单独访问控制
无功控制= controlsstr.split( / / G);
对于(在控件中的var i){
将焦点从事件中添加
$(# +控制{我})。Blur(function(){
如果($)(这个)(长度0)返回false;
重新排列数组
controlid.length = 0;
errors.length = 0;
错误消息
VaR误差= $(this)。Attr(错误);
$ ajax({
键入:获取
网址:$(this)。Attr(URL),
数据:$(这)Serialize(),
DataType:文本
成功:函数(数据){
如果(数据= 真){
验证没有将错误消息传递到数组中。
ControlId.push(控制{我});
Errors.push(错误);
消息
Alertinfo();
}
}
});
});
}
}
错误提示信息:
复制代码代码如下所示:
弹出消息
功能alertinfo(){
如果(controlid.length > 0){
(我在对VaR controlID){
/ / validationengine方法ID指定的提示。
用法: / / $(# ID)。ValidationEngine(showprompt
在这个元素上创建一个提示,3个状态:通行证
$(# + controlID {我})。ValidationEngine(showprompt错误{我}
}
}
}
所以当我们提交表格第三或第四种方式,可以叫controlID提交前。
1是用普通形式提交的。这是一例validationengine验证不通过形式。
2使用Ajax提交表单,但不使用Ajax验证。
这也是在使用Ajax请求之前检查验证是否已被传递的一种简单方法,例如:
复制代码代码如下所示:
验证没有返回
如果(!$(形式# ajaxform)。ValidationEngine(验证))返回;
$ ajax({
类型:邮政
网址:$(# ajaxform)。Attr(行动),
数据:$(# ajaxform )Serialize(),
DataType:HTML
成功:函数(数据){
XXXX }
});
3、使用普通表单提交,但用ajax验证,这种方式有点纠结。提交表单时,无法通过Ajax验证,也可以提交表单。在这种情况下,许多在线示例被转换为源代码,下面是截图。
这种方法在当前形势下是可行的。修改方法本身不推荐。它可能会影响其他地方。
复制代码代码如下所示:
功能beforecall(形式、期权){
如果(窗口控制台){
console.log(后的表单提交验证通过,回调前阿贾克斯提交);
};
返回true;
};
功能ajaxvalidationcallback(地位、形式、JSON、期权){
如果(窗口控制台){
console.log(状态);
};
如果(状态=真){
警告()表单有效!;
}
};
jQuery(文档)Ready(函数()){
jQuery(#之),ValidationEngine({
ajaxformvalidation:真的,是否提交使用AJAX / /
ajaxformvalidationmethod:'post ' / Ajax提交,发送数据的方式
OnAjaxFormComplete:ajaxvalidationcallback / / Ajax验证表单提交完成后
onbeforeajaxformvalidation:beforecall / /表单提交验证通过Ajax后,在回调之前提交
});
});
beforecall这个方法没有被调用,因此它不能用。
4使用ajax验证并使用ajax提交表单,这种方式很纠结,修改源代码的方式不好。
对于第三种和第四种方法,解决方案如下:
自定义属性控制项被添加到Ajax验证表单的表单标记中。控件的值是控制Ajax验证的ID(多个控件用逗号分隔)。
复制代码代码如下所示:
两个属性添加URL(Ajax请求的地址)和每个控制误差,需要验证。
复制代码代码如下所示:
两个全局数组在Javascript中声明。
复制代码代码如下所示:
VaR controlID =新(阵列); / /保存验证不通过控件ID
var错误=新的(数组);通过验证保存的消息
想法是让控件属性对这种形式的价值标签(每个ID控制逗号),Ajax请求使用遍历,当验证不通过控件ID和提示信息添加到controlID和错误和消息。当提交表单判断controlID是空的,不是空的圆形显示消息。
复制代码代码如下所示:
$(函数(){())
无功ajaxform2controls = $(形式# ajaxform2controls );
表单提交时
$(ajaxform2controls)。提交(函数(){)
ajaxform2control(ajaxform2controls);
返回false;
});
验证控件丢失焦点
valcontrols(ajaxform2controls);
});
表单提交方法:
复制代码代码如下所示:
功能ajaxform2control(obj){
当返回错误信息时,显示错误信息
如果(controlid.length > 0){
Alertinfo();
返回false;
}
如果(!$(obj)。ValidationEngine(验证))return false; / /验证没有AJAX验证控件的使用(现场不是Ajax验证是正常的验证,返回)
$ ajax({
类型:邮政
网址:$(obj)。Attr(行动),
数据:$(obj)。Serialize(),
DataType:HTML
成功:函数(数据){
xxxxxx
}
});
}
为窗体添加焦点事件
复制代码代码如下所示:
需要验证控件的窗体
功能valcontrols(ajaxform2controls){
获取/需要使用Ajax验证控件
无功controlsstr = ajaxform2controls.attr(控制);
未定义的返回属性
如果(typeof(controlsstr)=未定义| | controlsstr.length <= 0)返回;
单独访问控制
无功控制= controlsstr.split( / / G);
对于(在控件中的var i){
将焦点从事件中添加
$(# +控制{我})。Blur(function(){
如果($)(这个)(长度0)返回false;
重新排列数组
controlid.length = 0;
errors.length = 0;
错误消息
VaR误差= $(this)。Attr(错误);
$ ajax({
键入:获取
网址:$(this)。Attr(URL),
数据:$(这)Serialize(),
DataType:文本
成功:函数(数据){
如果(数据= 真){
验证没有将错误消息传递到数组中。
ControlId.push(控制{我});
Errors.push(错误);
消息
Alertinfo();
}
}
});
});
}
}
错误提示信息:
复制代码代码如下所示:
弹出消息
功能alertinfo(){
如果(controlid.length > 0){
(我在对VaR controlID){
/ / validationengine方法ID指定的提示。
用法: / / $(# ID)。ValidationEngine(showprompt
在这个元素上创建一个提示,3个状态:通行证
$(# + controlID {我})。ValidationEngine(showprompt错误{我}
}
}
}
所以当我们提交表格第三或第四种方式,可以叫controlID提交前。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。