placeholder в Chronoforms средствами Javascript (jQuery)

Создавая сайты на Joomla 2.5, часто сталкиваемся с необходимостью добавления разнообразных форм. В Joomla 1.5 я использовал CForms, но для свежей версии CMS компонент не подходит. На смену пришел Chronoforms — на мой взгляд самый удобный конструктор форм.

Однако, в нем невозможно стандартными способами поставить атрибут placeholder. Поиск в интернете вывел на платное дополнение, решающее эту задачу, поэтому решил попробовать исправить этот недочет самостоятельно средствами JavaScript.

Суть очень простая, мы задаем полям title, затем просто подставляем это значение в placeholder. Я использовал jQuery и конечный код получился таким:

Данный код вставляем в шаблон в область <head>, где подключаются все скрипты, либо в отдельно вынесенный js файл, что более корректней. Не забываем предварительно подключить jQuery.

Пример (файл templates/{имя шаблона}/index.php):

Тут специально вырезан лишний html + php код, чтобы вы смогли сориентироваться, куда вставлять нужный код. Нас интересуют строки

Где мы подключаем jquery библиотеку и файл template.js. Как можно увидеть — не надо прописывать название вашего шаблона в путях, т.к. оно берется из файла конфигурации. Соответственно, создаем файл  templates/{имя шаблона}/js/template.js, куда размещаем весь необходимый код js, указанный выше.

Мы находим в формах все текстовые поля и подставляем значение title в placeholder в цикле.

Однако, если вы используете js валидацию в chronoforms, то поле title используется в тексте ошибки. Если этот функционал не используете, то его можно просто отключить в настройках, поправив значение на Default:

placeholder в Chronoforms средствами Javascript (jQuery)


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*
*