Создать пользовательский файл ввода

0

Я работаю над вводом пользовательского файла со следующим HTML:

<div class="file">
  <a>browse<input type="file" name="annex"/></a>                 
  <span class="path">path</span>
</div>
<div class="help">Only PDF files allowed</div>

Вы можете посмотреть онлайн-пример здесь: http://codepen.io/mdmoura/pen/qAvDk

ПРОБЛЕМЫ

CSS

  • Я не могу вертикально выравнивать текст (в красном) и текст пути (синим цветом). Я попытался применить встроенный блок и те же дополнения для обоих, но не повезло... Как я могу его решить?

Jquery

  • Я использую var input = $(this); но если я использую var this = $(this); он не работает. Зачем?

  • Использование $('.path').text(label); работает... Но я хотел бы получить span после: файла, на который я input.next().text(label);... Я попробовал input.next().text(label); Но это не работает. Зачем?

Благодарю вас, Мигель

  • 0
    Вы установили отступы: 8px 0px; в классе "div.file a" для вертикального выравнивания.
  • 0
    Извините, я не понимаю ... Я только что обновил свой пример: codepen.io/mdmoura/pen/qAvDk . A и span вертикально выровнены в Chrome и Safari, но не в IE и Firefox. Есть идеи, как это решить?
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

Проблема CSS

Не проблема во всех браузерах, но привязка и интервал выравниваются, если вы удаляете padding из диапазона, добавьте vertical-align: middle к якорю и удалите отрицательное нижнее поле.

Проблемы с JS

this не изменчиво. Он не может быть назначен, и это фактически создает синтаксис (я думаю)

Недопустимое назначение левой руки

Существует множество способов установить this при объявлении или вызове функции, но var input = $(this) является общим решением. Я бы просто придерживался этого.

Что касается вашего селектора, вам нужно будет использовать input.parent().next(). Ввод - это ребенок якоря и не имеет братьев и сестер.

  • 0
    Проблема с CSS: я попробовал ваше предложение, но у меня продолжают возникать проблемы в Firefox и IE. Работает в Chrome и Safari. Любая идея? JS проблемы решены ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню