theme_textarea

5 form.inc theme_textarea($element)
6 form.inc theme_textarea($element)
7 form.inc theme_textarea($variables)
8 form.inc theme_textarea($variables)

Returns HTML for a textarea form element.

Parameters

$variables: An associative array containing:

  • element: An associative array containing the properties of the element. Properties used: #title, #value, #description, #rows, #cols, #required, #attributes

Related topics

File

includes/form.inc, line 3842
Functions for form and batch generation and processing.

Code

function theme_textarea($variables) {
  $element = $variables['element'];
  element_set_attributes($element, array('id', 'name', 'cols', 'rows'));
  _form_set_class($element, array('form-textarea'));

  $wrapper_attributes = array(
    'class' => array('form-textarea-wrapper'),
  );

  // Add resizable behavior.
  if (!empty($element['#resizable'])) {
    drupal_add_library('system', 'drupal.textarea');
    $wrapper_attributes['class'][] = 'resizable';
  }

  $output = '<div' . drupal_attributes($wrapper_attributes) . '>';
  $output .= '<textarea' . drupal_attributes($element['#attributes']) . '>' . check_plain($element['#value']) . '</textarea>';
  $output .= '</div>';
  return $output;
}

Comments

Disabling Drupal textarea resizing

Just remove the line drupal_add_library('system', 'drupal.textarea').
If you want to control Firefox's and WebKit's own resizable behavior with the #resizable property, you can set this in your CSS:

textarea {
  resize: none;
}

.resizable > textarea {
  resize: both;
}

Login or register to post comments