【问题标题】:LiveValidation + UI TAbs - one page with multiple validationsLiveValidation + UI TAbs - 一页有多个验证
【发布时间】:2011-02-14 18:24:11
【问题描述】:

我在我的大多数项目中使用 livevalidation.com 的 LiveValidation 进行一些简单和更复杂的表单验证。

主要是为了提高用户过期时间。

我做了什么。 - 将无效消息从文本替换为图像 - 提交表单时 - 无效 - 关注第一个无效的输入字段 - 提交表单时 - 无效 - 为所有无效字段添加红色边框

我正在尝试做的事情: - 创建验证表单的函数 - 但仅适用于当前选项卡

我们如何“手动”做到这一点 - 我们可以创建另一个 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
    }
    

    });

最好的问候,

彼得

【问题讨论】:

    标签: jquery user-interface jquery-ui-tabs


    【解决方案1】:

    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
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      相关资源
      最近更新 更多