cakephp input type number

13,768

Solution 1

On older versions of Cake, the Form helper won't automagically interpret $options['type'] as the HTML5 input-element type attribute. You have to force it by using "type" as an option on an explicit text element.

Use the following:

$form->text( 'phone', array( 'type' => 'number' ) );

Solution 2

I think phone numbers might be:

echo $form->text( 'phone', array( 'type' => 'tel' ) );

EDIT:

Sorry I'm an idiot, thats HTML5.

Share:
13,768
Keith Power
Author by

Keith Power

Updated on June 04, 2022

Comments

  • Keith Power
    Keith Power almost 2 years

    I have a mobile website form that I want to add type attributes to the inputs so that there correct keyboard format will pop up.

    However in cakephp setting the type as number a textarea is created instead of the input and the type is not set.

    Setting type as text does work.

    How do I overide this and have cakephp just keep it as a text input with type=number?

    <?php echo $form->input('phone',array('type' => 'number')); ?>
    

    Result:

      <textarea id="UserCardExpires" rows="6" cols="30" name="data[User][card_expires]"class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset"></textarea>
    

    This is ok:

      <?php echo $form->input('postcode' ,array('type' => 'text')); ?> 
    

    Result

      <input type="text" id="UserPostcode" name="data[User][postcode]" class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset">