Estoy tratando de agregar un tipo de campo "número" a un formulario usando FAPI:
$form['phone_number']['areacode'] = array(
'#type' => 'textfield',
'#title' => '---',
'#width' => '30%',
'#align' => 'center',
'#required' => true,
'#maxlength' => 3
);
Cambio el TIPO a "número" y el campo no se genera en absoluto. El módulo de número está habilitado. He implementado las siguientes funciones de tema:
MYTHEME_form_element
MYTHEME_textfield
MYTHEME_container
¿Qué podría estar detrás de este campo que no aparece cuando uso #type = number
o #type = number_integer
, etc.?
Esto podría tener algo que ver con eso:
Sin embargo, en realidad quiero que el tipo se represente como "número" en HTML para que los teléfonos inteligentes muestren un marcador numérico
¿Algunas ideas?
<input type="number" type="text">
Puede instalar y utilizar elementos de módulo para ello.
fuente
#type="numberfield"
es la forma correcta de ajustar el campo cuando se usa este módulo.'#type' => 'number'
(no'numberfield'
) en la matriz de representación.Llego un poco tarde a la fiesta. El problema es que theme_textfield (D7:,
includes/form.inc
líneas 3924ff) codifica$element['#attributes']['type'] = 'text';
.Puede finalizar dicha llamada
if (!isset($element['#attributes']['type'])) { ... }
o esperar a que se aplique el parche https://www.drupal.org/node/2545318 .fuente
este es tu código a continuación ...
dígame qué es ['phone_number'], es un contenedor o no o existe en su formulario o no, y si desea crear un campo personalizado en su formulario, debe usar hook_form_alter hook_form_alter
me gusta
espero que esto te ayude ..
fuente
No veo que funcione con un valor no válido para el campo #type , sin embargo, puede hacer algo así:
El elemento de forma:
E implementando theme_textfield
fuente