Как добавить плейсхолдеры в форму? 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 272
Здравствуйте,
создал форму с полями, подскажите, как добавить placeholder к полям, например

Код PHP:
  1. new fieldText('description', array(
  2. 'title' => 'Описание',
  3. 'options' => array(
  4. 'min_length' => '0',
  5. 'max_length' => '4000'
  6. )
  7. )),
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3094
А случайно
'hint' => LANG_ITEM

не оно?
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 272
Jestik, Не ) плейсхолдер - это подсказка внутри поля.

Вот
Как добавить плейсхолдеры в форму?
Редактировалось: 1 раз (Последний: 31 августа 2018 в 18:57)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
С помощью js.
Посетитель
small user social cms
Медаль
Сообщений: 272
Lora:

С помощью js.

Типа
document.getElementById('description').placeholder = 'Нужный текст'; ?

Я вот хотел бы на пхп. Как hint прописывается - было бы идеально
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 560
Azami, добавьте атрибут 'placeholder':
Код PHP:
  1. new fieldText('description', array(
  2. 'title' => 'Описание',
  3. 'attributes' => array(
  4. 'placeholder' => 'Текст плейсхолдера'
  5. ),
  6. 'options' => array(
  7. 'min_length' => '0',
  8. 'max_length' => '4000'
  9. )
  10. )),
Посетитель
small user social cms
Медаль
Сообщений: 272
WebMan, этот метод точно рабочий? у меня не сработал ...
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 560
Azami:
этот метод точно рабочий?
Да, при выводе формы в поле подставляются все пары ключ-значение из массива атрибутов. Только что проверил в формах регистрации и восстановления пароля - для полей типа String работает.
В коде нужно добавлять массив атрибутов
Код PHP:
  1. 'attributes' => array(
  2. 'placeholder' => 'Текст плейсхолдера'
  3. ),
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 560
Только что посмотрел код полей. В поле String атрибуты из описания формы подставляются, а в поле Text - нет. Нужно просить Игоря (Fuze), чтобы он добавил поддержку атрибутов и в текстовом поле тоже.
Посетитель
small user social cms
Медаль
Сообщений: 272
WebMan, значит я что-то не так сделал. Помимо этого куска кода, где-то что-нибудь прописывать еще нужно при создании формы?
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 560
Смотрите мой предыдущий комментарий. У Вас поле типа Text, в него атрибуты не подставляются. В данный момент подстановка атрибутов (в том числе и плейсхолдера) возможна только для поля типа String.
Посетитель
small user social cms
Медаль
Сообщений: 272
WebMan, прочел. Вроде в string и вставляю.

Код PHP:
  1. new fieldString('title', array(
  2. 'title' => 'Заголовок',
  3. 'attributes' => array(
  4. 'placeholder' => 'Текст плейсхолдера'
  5. ),
  6. 'rules' => array(
  7. array('required')
  8. ),
  9. 'options' => array(
  10. 'min_length' => '0',
  11. 'max_length' => '255'
  12. ),
  13. 'default'=>isset($_GET["key"])?htmlspecialchars(strip_tags($_GET['key'])):''
  14. )),
  15.  
  16.  
Инспектирую элемент - плейсхолдер отсутствует.

Код PHP:
  1. <div id="f_title" class="field ft_string">
  2. <label for="title">Заголовок</label>
  3. <input type="text" class="input" name="title" value="" id="title" required="">
  4. </div>
Редактировалось: 2 раз (Последний: 2 сентября 2018 в 16:26)
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 560
Всё правильно. Только что добавил Ваш код в форму регистрации - плейсхолдер выводится.
Проверьте в коде страницы, подставляется ли 'placeholder' в input. И не выводится ли в этом инпуте какое-то невидимое значение (пробел, табуляция и т.п.), тогда плейсхолдер виден не будет.
Посетитель
small user social cms
Медаль
Сообщений: 272
WebMan:
Всё правильно. Только что добавил Ваш код в форму регистрации - плейсхолдер выводится.
Проверьте в коде страницы, подставляется ли 'placeholder' в input. И не выводится ли в этом инпуте какое-то невидимое значение (пробел, табуляция и т.п.), тогда плейсхолдер виден не будет.

Код PHP:
  1. <div id="f_title" class="field ft_string">
  2. <label for="title">Заголовок</label>
  3. <input type="text" class="input" name="title" value="" id="title" required="">
  4. </div>
Редактировалось: 1 раз (Последний: 2 сентября 2018 в 16:32)
Посетитель
small user social cms
Медаль
Сообщений: 272
WebMan, интересно, в форме регистрации тоже не отображается. А какая строчка и в каком файле отвечает за вывод атрибутов в поле string формы?
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: