Добавьте элемент label в поле managed_file с помощью API формы

Я хочу стилизовать поле managed_file-Field в пользовательской форме Drupal 7 Form-API и, следовательно, вставить элемент метки, который заменит "Поиск файла".

Поэтому я хочу именно это:

<input type="file" name="files[bild_0]">
<input type="submit" id="edit-bild-0-upload-button" value="Upload">
<label for="files[bild_0]">Choose Picture</label>

Однако API-интерфейс формы очень затрудняет вставку метки непосредственно рядом с вводом. "#prefix" и "#suffix" не работают. "#field_prefix" и "#field_suffix" вставили html в оболочку... есть идеи?

Заранее большое спасибо!

1 ответ

Решение

Итак, я наконец-то нашел альтернативное решение. Я использовал

'#Field_suffix'

свойство в поле API формы для добавления элемента метки. Кроме того, мне пришлось перезаписать начальный идентификатор поля через

'#id' => 'upload-selector-' . поле $index_of_picture

Так как идентификатор фактического поля ввода теперь отличается от div, который содержит поле, я мог бы использовать метку поля для запуска диалогового окна файла. Я разработал элемент label для своих нужд и скрыл начальный ввод.

Другие вопросы по тегам