Ищу использовать 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 с проверкой правильности и проверки флажка без представления формы отлично работает в это время.
Я сейчас не в месте, где я могу настроить jsFiddle для вас. Тем не менее, вы можете захотеть использовать '$ ('# propCreate'). Valid()' вместо 'validator.form()' для программной проверки вашей формы. – Sparky
Я предполагаю, что моя точка зрения заключается в том, что вам не нужно хранить '.validate()' внутри переменной, так как ее нужно только вызывать один раз. – Sparky
Спасибо Sparky, просто увидел это в многочастном примере в документации на сайт. Обновил мой код, как вы предлагаете. Он работает, но предупреждение в FF указывает на будущую проблему для новых браузеров, которые отбрасывают «document.all» - вместо этого ожидается documentById. Я бы предпочел разрешить предупреждение, кроме как забыть об этом, а затем разбить производственный код в будущем с IE11 и т. Д. –