Я пытаюсь добавить тип поля «число» в форму, используя FAPI:
$form['phone_number']['areacode'] = array(
'#type' => 'textfield',
'#title' => '---',
'#width' => '30%',
'#align' => 'center',
'#required' => true,
'#maxlength' => 3
);
Я изменяю ТИП на «число», и поле не генерируется вообще. Числовой модуль включен. Я реализовал следующие функции темы:
MYTHEME_form_element
MYTHEME_textfield
MYTHEME_container
Что может быть за этим полем, когда я не использую #type = number
или #type = number_integer
и т. Д.?
Это может иметь какое-то отношение к этому:
Создание числовых полей (целых и десятичных) вручную в коде для пользовательских форм
Однако я на самом деле хочу, чтобы тип отображался как «число» в HTML, чтобы смартфоны отображали цифровую звонилку
Есть идеи?
<input type="number" type="text">
Для этого вы можете установить и использовать модуль Elements .
источник
#type="numberfield"
правильный способ настройки поля при использовании этого модуля.'#type' => 'number'
(не'numberfield'
) в массиве рендеринга.Я немного опоздал на вечеринку. Проблема в том, что theme_textfield (D7:,
includes/form.inc
линии 3924ff) жестко кодирует$element['#attributes']['type'] = 'text';
.Вы можете завернуть указанный вызов в
if (!isset($element['#attributes']['type'])) { ... }
или дождаться, пока патч https://www.drupal.org/node/2545318 будет применен.источник
это ваш код ниже ..
пожалуйста, скажите мне, что такое ['phone_number'], это контейнер или нет, или он существует в вашей форме или нет, и если вы хотите создать настраиваемое поле в вашей форме, вам следует использовать hook_form_alter hook_form_alter
нравиться
надеюсь, это поможет вам ..
источник
Я не вижу, что он работает с недопустимым значением для поля #type , однако вы можете сделать что-то вроде этого:
Элемент формы:
И реализация theme_textfield
источник