我正在使用livevalidation.com的LiveValidation对我的大多数项目进行一些简单而复杂的表单验证。
主要是为了增强用户的过期性。
我做了什么。 - 将无效消息从文本替换为图像 - 当表单被提交 - 并且无效时 - 专注于第一个无效的输入字段 - 当表单被提交 - 并且无效时 - 将红色边框添加到所有无效字段
我正在尝试做什么: - 创建验证表单的函数 - 但仅适用于当前选项卡
我们怎么做'manualy' - 我们可以创建另一个var automaticOnSubmit2 = field4.form.onsubmit;
其中field4始终首先在当前选项卡上输入。 因为我的标签会使用未知数量的标签生成 - 我正在寻找更通用的解决方案。
我做了一些尝试 - 但我对js / jquery的了解非常差 - 所以我失败了。
//尝试1
$(".ui-tabs-panel:not(.ui-tabs-hide) > form")
这是正确的 - firebug只能找到1 - 打开/当前标签 - 我们要验证的表单位于
$(".ui-tabs-selected").ready(function() {
var automaticOnSubmit = $(".ui-tabs-panel:not(.ui-tabs-hide) > form").submit;
$(".ui-tabs-panel:not(.ui-tabs-hide) > form").submit = function(){
var valid = automaticOnSubmit();
if(valid)alert('Form is Valid!');
else{
$(".LV_invalid_field:first", document.forms).focus();
}
return false
}
});
最诚挚的问候,
彼得
答案 0 :(得分:0)
<强> Online demo 1 强>
的 Online demo 2 强>
<强> Zip with both 强>
Livevalidation + jQuery UI标签 解决方案:
$("form").each(function (i) {
var automaticOnSubmit = this.onsubmit;
this.onsubmit = function(){
var valid = automaticOnSubmit();
if(valid)alert('Form is Valid!');
else{
$(".LV_invalid_field:first", document.getElementById(this.id)).focus();
}
return false
}
});