J'essaie d'ajouter un type de champ "numéro" à un formulaire à l'aide de FAPI:
$form['phone_number']['areacode'] = array(
'#type' => 'textfield',
'#title' => '---',
'#width' => '30%',
'#align' => 'center',
'#required' => true,
'#maxlength' => 3
);
Je change le TYPE en "nombre" et le champ n'est pas généré du tout. Le module numérique est activé. J'ai implémenté les fonctions thématiques suivantes:
MYTHEME_form_element
MYTHEME_textfield
MYTHEME_container
Qu'est-ce qui pourrait être derrière ce champ qui n'apparaît pas lorsque j'utilise #type = number
ou #type = number_integer
, etc.?
Cela pourrait avoir quelque chose à voir avec cela:
Cependant, je veux que le type soit rendu sous forme de "nombre" en HTML pour que les téléphones intelligents affichent un numéroteur numérique
Des idées?
<input type="number" type="text">
Vous pouvez installer et utiliser le module Elements pour cela.
la source
#type="numberfield"
est la bonne façon d'ajuster le champ lors de l'utilisation de ce module.'#type' => 'number'
(pas'numberfield'
) dans le tableau de rendu.Je suis un peu en retard à la fête. Le problème est que les
includes/form.inc
hard-codes theme_textfield (D7 :, lignes 3924ff)$element['#attributes']['type'] = 'text';
.Vous pouvez encapsuler cet appel dans un
if (!isset($element['#attributes']['type'])) { ... }
ou attendre que le patch https://www.drupal.org/node/2545318 soit appliqué.la source
voici votre code ci-dessous ..
s'il vous plaît dites-moi ce qui est ['phone_number'], c'est un conteneur ou non ou son existe dans votre formulaire ou non et si vous voulez créer un champ personnalisé dans votre formulaire, vous devez utiliser hook_form_alter hook_form_alter
comme
j'espère que cela vous aide ..
la source
Je ne le vois pas fonctionner avec une valeur non valide pour le champ #type , mais vous pouvez faire quelque chose comme ça:
L'élément de formulaire:
Et implémenter theme_textfield
la source