Итак, стоит задача сделать форму поиска, текстовое поле которой содержит текст по умолчанию, а при помещении в него курсора поле очищаестя. При освобождении текстового поля, если его значение нулевой длины, то-есть ничего введено не было - снова возвращается значение по умолчанию.
Для решения этой задачи воспользуемся API Drupal, который изменяет формы, а именно:
В файле template.php определим хук hook_form_FORM_ID_alter, который изменит данные самой формы:
function pet_clinic_form_search_block_form_alter(&$form, &$form_state, $form_id) { $form['search_block_form']['#title'] = ''; $form['search_block_form']['#size'] = 25; $form['search_block_form']['#value'] = 'Поиск'; $form['search_block_form']['#attributes']['onblur'] = "if (this.value == '') {this.value = 'Поиск';}"; $form['search_block_form']['#attributes']['onfocus'] = "if (this.value == 'Поиск') {this.value = '';}"; // Убираю текст кнопки, останется только фоновый рисунок $form['actions']['submit']['#value'] = ''; }
Дальнейшее оформление делается с помощью CSS.
There are 2 Comments
Нужно темизировать форму
Нужно темизировать форму поиска в Drupal 7 так, чтобы в строке поиска выводилось, к примеру, слово "Поиск". А при попытке ввода своего текста для поиска это слово исчезало. Так как поиск работает и по нажатию Enter, то так же хотелось бы убрать кнопку "Найти". Ребята, нужно сделать такую же форму поиска как например на тут . Что бы можно было нажать на ссылку "Refine your search" и появлялось меню с выбором категорий. Как это организовать в своём модуле?
Доброго дня.
Доброго дня.
Есть такой атрибут html placeholder. По аналогии с опианным в статье настройте этот атрибут и будет вам счастье.
Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.
Добавить комментарий