I need to apply style and read-only property to an input element of a drupal form. I coded the following:
$form['precio'] = array(
'#type' => 'textfield',
'#title' => t('Precio'),
'#default_value' => ''.$precio,
'#size' => 20,
'#required' => TRUE,
'#attributes' => array($inputAtributo => 1),
'#description' => t('Modifica el precio '),
);
And at '#attributes' => array($inputAtributo => 1),
Before create form, I check if this input should be readonly and apply some style:
if ($tarifa !='' & $tarifa=='N')
$inputAtributo=" readonly style=\"background: none repeat scroll 0 0 #EAEAEA;\" ";
else
$inputAtributo = "";
This works, but I think it's not coded correctly
The html code shows the following:
<input id="edit-precio" class="form-text required" type="text" maxlength="128" size="20" value="258" name="precio" ="1"="" style="background: none repeat scroll 0 0 #EAEAEA;" readonly="">
How I can do this better?
#attributes
must be an array of key-value-pairs.
so the array should look like
'#attributes' => array(
'readonly'=>'readonly',
'style'=>'background: none repeat scroll 0 0 #EAEAEA;'
);