Vishnu R
Vishnu R

Reputation: 1879

How to set default value for form fields- Magento?

I have an admin form field(textbox),

$fieldset->addField('ajax_time_interval', 'text', array(
          'label'     => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
          'class'     => 'required-entry',
          'required'  => true,
          'name'      => 'ajax_time_interval',
      ));

I need to set a default value for this text field. I tried, setting 'value' => '120', in it. But its not working.

$fieldset->addField('ajax_time_interval', 'text', array(
          'label'     => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
          'class'     => 'required-entry',
          'required'  => true,
          'name'      => 'ajax_time_interval',
          'value'     => '120', 
      ));

How to set a defalt value in that field?

Upvotes: 3

Views: 11561

Answers (3)

R T
R T

Reputation: 4549

you can do that by adding "default" attribute in field configurations.

$fieldset->addField('ajax_time_interval', 'text', array(
          'label'     => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
          'class'     => 'required-entry',
          'required'  => true,
          'name'      => 'ajax_time_interval',
          'default'     => '120', 
      ));

Upvotes: 1

Mukesh Chapagain
Mukesh Chapagain

Reputation: 25976

In my case, setValues() function was overriding the 'value' that I had set for the field.

Cause:

In my _prepareForm() function, I set the value as below:

$fieldset->addField('ajax_time_interval', 'text', array(
          'label'     => Mage::helper('dealroom')->__('Page Refresh Time Interval'),
          'class'     => 'required-entry',
          'required'  => true,
          'name'      => 'ajax_time_interval',
          'value'     => '120', 
      ));

At the end of _prepareForm() function, there was the following line of code which would reset the form values:

$form->setValues($model->getData());

Solution:

Set model data before setValues() function as below:

if (!$model->getId()) {
    $model->setData('ajax_time_interval', '120');
}
$form->setValues($model->getData());

Upvotes: 4

Guerra
Guerra

Reputation: 2790

Remove the last semicolon....

Check this site help-me a lot:

http://www.excellencemagentoblog.com/magento-admin-form-field

Gl mf

Upvotes: 0

Related Questions