z22
z22

Reputation: 10083

display default time in cakephp ctp

i wish to display default time as 9:00 am in ctp time dropdown. Following is my ctp code:

<?php
                                      echo $this->Form->input('Rideoffer.DepartureTime', array(
                                                        'type' => 'time',

                                                         'interval' => 5
                                                         ));
                             ?>

how do i do that?

Upvotes: 0

Views: 386

Answers (2)

mark
mark

Reputation: 21743

The best way to set default data is using the controller (and only if not posted):

if (!$this->request->is('post')) {
    $this->request->data['Rideoffer']['DepartureTime'] = '09:00:00';
}

see http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#common-options

This works in all form elements.

"selected", "value", "checked" and other hardcoded attributes for the form directly usually break the form after an unsuccessful post (if the form contains validation errors): it loses all the entered data and reset them to the value it was before which is usually quite annoying for the frontend user.

see http://www.dereuromark.de/2010/06/23/working-with-forms/

Upvotes: 0

kaklon
kaklon

Reputation: 2432

Use the 'selected' option

<?php
echo $this->Form->input('Rideoffer.DepartureTime', array(
    'type' => 'time',
    'interval' => 5,
    'selected' => '09:00:00',
));
?>

Upvotes: 1

Related Questions