placeholder для строкового поля

InstantCMS 2.X
#1 21 мая 2021 в 19:29
Не нашел на форуме решения как добавить атрибут placeholder для <input> строкового поля. Не ужели нет? Фича то полезная
#2 21 мая 2021 в 19:47
Вроде такой атрибут присутствует в опциях. Так и добавляйте в форме. Но только вроде это должен быть массив. Сейчас не у компа, но что то типа
'atrlbutes' =>array('placeholder' =>``). Можно посмотреть в основном классе доступные опции
#3 21 мая 2021 в 20:31
Какие опции вы имеете ввиду? При добавлении поля (тип — строковое поле) такой опции (placeholder) не вижу. Есть только «подсказка для поля» ну и макс, мин длина, автоссылка…
#4 21 мая 2021 в 20:38
Можете подробнее объяснить в какую форму что нужно добавить?
#5 21 мая 2021 в 20:48
Я просто не понял немного. Подумал, что вы про создание поля при разработке.
А чем не устраивает подсказка? Вроде тоже самое. Даже получше.
#6 21 мая 2021 в 21:04
Да нужно для ввода номера телефона, хотел туда образец вписать.
Говорите можно создать/скопировать новое поле и добавить туда атрибут?
#7 21 мая 2021 в 23:02
В данном случае нет. Делайте с помощью js. Хотя о в подсказку можно образец написать.
#8 27 мая 2021 в 12:07
Для конструктора форм с помощью jquery я вот так сделал:

  1. $('[id $= "_fio"]').attr("placeholder", "Имя...");
  2. $('[id $= "_email"]').attr("placeholder", "Е-mail...");
  3. $('[id $= "_phone"]').attr("placeholder", "Телефон...");
с textarea чуток длиннее и обязательно прописать в настройках поля предустановленное значение (у меня оно «Текст сообщения...») :
  1. $('[id $= "_comment"]').attr({
  2. "onfocus":"if (this.value == 'Текст сообщения...') {this.value = '';}",
  3. "onblur":"if (this.value == '') {this.value = 'Текст сообщения...';}"
  4. });
где fio, email, phone и comment идентификаторы ваших полей
#9 27 мая 2021 в 22:10
Спасибо, но нужно не для конструктора форм, а в общем для поля строкового типа.
Чтобы выводилось так
  1. <input placeholder="значение">
где значение, допустим, значение = "предустановленное значение" или "подсказка для поля"..
И желательно без JS (извиняюсь за нескромность)))
#10 1 июня 2021 в 16:16

И желательно без JS

@denmois
Не хотите JS, ловите PHP)

  1. <?php $field->data['attributes']['placeholder'] = $field->hint; ?>
поместите этот код в начале файла /templates/ВАШ_ШАБЛОН/assets/fields/string.tpl.php

Таким образом в placeholder будет попадать подсказка для строкового поля.
Вместо $field->hint можно написать $field->title? тогда будет попадать название поля
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.