Добрый день.
Решил настроить на сайте проверку формы на стороне клиента, чтоб данные не уходили на сервер не провереными. Для этого взял плагин к jquery - jquery.validate.js (http://www.jstoolbox.com/2008/03/19/proverka-dannyx-form-jquery-validati...)
Прикрутил его к своей форме, но он работает тоько лишь в том случае когда я удалил из друпала родной файл textarea.js, отвечающий за ресайз текстовых полей. Согласен что это возмутительно и ничего из ядра удалять нельзя. А как быть? Может кто нибудь поделится своими мыслями?
Комментарии
Про пятый друпал не знаю... было дело к 6-у прикручивал. Дело скорей всего в том, что в 5 версии jquery всего 19-килобайтный (в 6-ке 31кб, т.е. полный).
Вродебы где-то ходила обновленная версия jquery для пятерки -- ее можно постараться найти и прикрутить. Только обязательно сделай бэкап оригинального jquery.js и хорошо полазь по сайту (филдсеты поразворачивай по несколько раз и т.п.).
А в 6-ке проблем не было. Подключаешь jquery.validate.js (к примеру из модуля), в код нужной странички выводишь правила и все.
По поводу глюков. У меня все время глючило правило "maxlength" (length с маленькой буквы!) для элементов типа textarea -- и изза этого возникали непонятные ошибки, причем не только на текстареях. Решилось модификацией этого правила в тексте jquery.validate.js:
Было:
function(value,element,param){
if ($.browser.opera) {
if (element.nodeName.toLowerCase() == 'textarea') {
return 1;
};
}
return this.optional(element)||this.getLength(value,element)<=param;
},
Стало:
function(value,element,param){
return this.optional(element)||this.getLength(value,element)<=param;
},
Вроде как помогло... но давненько это было... летом вроде...
Да действительно проблема была в старой версии jquery. Сейчас новая проблема - не работает проверка на одной из страниц в опере и 6ие. фф все страницы ок. может кто что знает?
Да кстати textarea.js вернул, все на месте