Вы здесь

Как добавить элементу формы html5 атрибут без значения (например autofocus)?

1

Правильно ли я понимаю, что нет возможности штатными средствами FAPI добавить HTML атрибут, который не имеет значения? Скажем, autofocus, который тупо указывается в теге без какого-либо значения.

'#attributes'

с этим не справляется.

Версия Drupal: 
7.x
Категория: 
Form API
Вопрос задан 12.03.2016 - 19:09

Ответы

1

да
но это легко делается через theme функции, типа theme_textfield
т.е например добавляете в массив элемента формы '#html5_attributes' => array('autofocus')
и потом в theme функции пишите код, который это значение выведет

примерно так

function THEME_textfield($variables) {
  //...

  $html5_attributes = (isset($element['#html5_attributes']) ? $element['#html5_attributes'] : array());

  $output = '<input' . drupal_attributes($element['#attributes']) . ' '.implode(' ', $html5_attributes).' />';

  ///...
}
Ответ дан 12.03.2016 - 21:57
0

А такое решение вам не подходит:

    $form['name']['#attributes'] = array(
        'autofocus' => array(TRUE),
    );

У меня так автофокус работает отлично.

Ответ дан 16.03.2016 - 01:12