【问题标题】:Jquery Tooltipster with Validate - Warning? Non-standard document.all property was used带有验证的 Jquery Tooltipster - 警告?非标准文档。使用了所有属性
【发布时间】:2013-08-09 22:30:24
【问题描述】:

我希望以类似于 Sparky 在 2013 年 2 月 7 日提供的示例的方式将 Jquery Validate 与 Tooltipster 结合使用: How to display messages from jQuery Validate plugin inside of Tooltipster tooltips?

不同之处在于验证方法是通过脚本函数而不是表单提交。我还想将工具提示附加到一个类而不是整个表单输入。 验证完成后,该函数将调用另一个函数。

它有效,但显示以下警告:

Non-standard document.all property was used. Use W3C standard document.getElementById() instead.

我相信 document.all 已被弃用,并且在未来的浏览器版本中不存在。但是我不明白为什么我的代码显示警告!我已经用我的代码消除了所有其他可能的原因。所以我认为它要么是我没有看到的东西,要么是导致警告的 Tooltips + Validation 组合库。

这是我的 JS 代码:

// initialize tooltipster on text input elements
    $('.valid1').tooltipster({
        trigger: 'custom',
        onlyOne: false,
        position: 'right'
    });

    // initialize validate plugin on the form
    var validator = $('#propCreate').validate({
    onsubmit: false,
        errorPlacement: function (error, element) {
            $(element).tooltipster('update', $(error).text());
            $(element).tooltipster('show');
        },
        success: function (label, element) {
            $(element).tooltipster('hide');
        },
        rules: {

            pkg: { required: true },
            TCaccept: { required: true }

        },
        messages: {
            TCaccept: "Please check acceptance of our terms.",
            pkg: "Please select suitable package."
        },
        submitHandler: function (form) { 

        }

    });
//Validation
// this is to validate terms checkbox & Pkg
$("#btnNext").click(function () {
    if (validator.form()) {
        btnNextContinued()
    }
});

是否有人对此有修复/解决方法,或者可以告诉我哪里出错了?

更新:在 Sparky 及其乐于助人的 cmets 的大量观察之后 - Firebug 中的一个错误是导致误报警告的原因。带有验证单选和复选框验证的工具提示器目前可以正常工作。

【问题讨论】:

  • 我目前不在可以为您设置 jsFiddle 的地方。但是,您可能需要考虑使用$('#propCreate').valid() 而不是validator.form() 以编程方式测试您的表单。
  • 我想我的意思是你不需要将.validate() 存储在一个变量中,因为无论如何它只应该被调用一次。
  • 感谢 Sparky,刚刚在站点文档的多部分示例中看到了这一点。按照您的建议更新了我的代码。它确实有效,但 FF 中的警告确定了新浏览器的未来问题,这些新浏览器删除了“document.all”——而是期待 documentById。我宁愿解决警告而不是忘记它,然后在将来使用 IE11 等中断生产代码。
  • 您是否尝试过更新到 jQuery 1.9.1、jQuery Validate 1.11.1 和最新版本的 Tooltipster?否则,我看不到您的代码可能有任何问题。虽然我从未看到警告,但这个修改后的版本是我会做的,对我来说似乎很好:jsfiddle.net/4wXBG/3
  • 您的 Firebug 是最新的吗? I was reading about this "Non-standard document.all property" warning as part of a Firebug bug and nothing more.我对此研究得越多,就越觉得这不是问题。

标签: javascript jquery jquery-validate tooltipster


【解决方案1】:

我在任何the demos 中都没有看到报告的Non-standard document.all property 警告消息。

您的 Firebug 是最新的吗? I was reading about this "Non-standard document.all property" warning as part of a Firebug bug and nothing more.

我对此研究得越多,就越觉得这不是问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 2018-02-18
    • 2012-09-12
    • 2014-08-26
    • 2013-08-24
    相关资源
    最近更新 更多