2013-08-09 1 views
0

Ищу использовать Jquery Validate в сочетании с Tooltipster аналогичным образом на примере представленной Спарки на 7 февраля '13: How to display messages from jQuery Validate plugin inside of Tooltipster tooltips?JQuery Tooltipster с Validate - предупреждение? Нестандартные document.all свойство было использовано

Разница в том, что проверка метод выполняется через функцию скрипта, а не форму submit. Я также хочу прикрепить всплывающие подсказки к классу вместо всех входных данных формы. После завершения проверки функция вызывает другую функцию.

Он работает, но показывает следующее предупреждение:

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

Кто-нибудь есть исправить/обходной путь для этого или может показать мне, где я неправильно?

ОБНОВЛЕНИЕ: После замечательных замечаний Спарки и его полезных комментариев - ошибка в Firebug была причиной ложного положительного предупреждения. Инструмент Tooltipster с проверкой правильности и проверки флажка без представления формы отлично работает в это время.

+0

Я сейчас не в месте, где я могу настроить jsFiddle для вас. Тем не менее, вы можете захотеть использовать '$ ('# propCreate'). Valid()' вместо 'validator.form()' для программной проверки вашей формы. – Sparky

+0

Я предполагаю, что моя точка зрения заключается в том, что вам не нужно хранить '.validate()' внутри переменной, так как ее нужно только вызывать один раз. – Sparky

+0

Спасибо Sparky, просто увидел это в многочастном примере в документации на сайт. Обновил мой код, как вы предлагаете. Он работает, но предупреждение в FF указывает на будущую проблему для новых браузеров, которые отбрасывают «document.all» - вместо этого ожидается documentById. Я бы предпочел разрешить предупреждение, кроме как забыть об этом, а затем разбить производственный код в будущем с IE11 и т. Д. –

ответ

Смежные вопросы