Javascript → Включаем поддержку HTML5 атрибута placeholder для устаревших браузеров

26.11.2011

Плагин jQuery Placeholder эмулирует работу атрибута placeholder в не-HTML5 браузерах.

В отличии от большинства похожих скриптов, плагин не требует лишней разметки и инициализации для каждого поля в отдельности. Для включения достаточно в момент загрузки DOM вызвать функцию $.Placeholder.init();.

Похожие записи

Комментарии

Гость
12.03.2012, 01:15

Для включения достаточно в момент загрузки DOM вызвать функцию $.Placeholder.init();.

Может быть, Вы поясните, куда и как вставлять эту функцию?

Иван Зыков
12.03.2012, 02:06

Извините, что не представился сразу. Благодарю за ответ! Но я, к сожалению, вчера начал писать свой модуль :). Модифицирую форму через hook_form_alter. Не могли бы Вы поподробне рассказать, как мне включить поддержку HTML5 атрибута placeholder? Сам js-файл я прикрутил такой функцией:

function mymodule_form_snm_1873_item_node_form_alter(&$form, &$form_state, $form_id) {
  $path = drupal_get_path('module', 'mymodule') . '/';
  $form['#attached']['js'][]  = $path . 'jquery.placeholder.1.3.min.js';
Иван Зыков
12.03.2012, 02:07

* ...только вчера начал писать свой первый модуль...

Иван Зыков
12.03.2012, 12:16

Правильно ли я понял, что вызвать функцию в модуле надо так:

drupal_add_js( '$.Placeholder.init()','inline');
Иван Зыков
12.03.2012, 21:03

Вставил вот такой код в функцию, которая выше (mymodule_form_snm_1873_item_node_form_alter):

drupal_add_js('$(function(){$.Placeholder.init();});','inline');

Но, увы, в IE не рбаотает. Скажите, пожалуйста, что я делаю не так?

drupal_add_js('jQuery(function(){jQuery.Placeholder.init();});','inline');

Иван Зыков
12.03.2012, 23:21

Огромное спасибо, всё заработало! :)

Гость
09.09.2012, 11:27

Вот вам решение без jQuery и лишней мароки (не нужно ни какой дополнительной инициализации) подрубаем скрипт и сразу все работает (не нужно ничего дополнительно прописывать).

после window.onload = function() даже смотреть не стал

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