Проблемы с button материала design google

У меня есть один button чтобы пересылать изображения в моем Веб проекте; в Chrome и Microsoft Edge функционируй, но в Firefox не. Дав клик он был бы должен открывать окно, чтобы искать изображение, которое нужно пересылать, как он это делает в других браузерах.

Мой код HTML:


Этот код был бы должен функционировать равно, как он это делает в Chrome и Explorer:

introducir la descripción de la imagen aquí

4
задан 29.03.2016, 04:04
1 ответ

Это проблема, которая происходит, потому что код HTML не является действительным. В определении HTML показывается, что контент внутри кнопки может быть:

Phrasing content, but there must be не интервключил content descendant.

А именно, контент типа фразы, но который не был бы интерактивным. И внутри интерактивного контента они включаются (между другими): a, button, select или input что не был hidden (эмфаза, добавленная мной):

Интервключите content is content that is specifically несклоняйтесь for user interaction.

  • в (if the href attribute is present), аудио (if the controls attribute is present), button, details, embed, iframe, img (if the usemap attribute is present), неудар в лунку (if the type attribute is not in the hidden state), keygen, label, object (if the usemap attribute is present), select, textarea, видео (if the controls attribute is present)

В твой код ты включаешь один form и один input типа file внутри одного button что способствует тому, чтобы код не был действительным, тогда каждый браузер это интерпретирует, как он смог. Chrome и IE это интерпретируют таким образом что в он тебе нравится и Firefox одной, которая тебе не нравится..., но он мог бы быть по-другому.

Способ решать проблему состоит в том, чтобы способствовать тому, чтобы код был действительным:

  • двигая формуляр он был,
  • добавляя один id в неудар в лунку файла, и
  • меняясь button из-за одного label что обозначился в input (с одним for).

Тогда код будет действительным и функционируй во всех браузерах:

<form method="POST" action="http://timeline.dev/post/ajaxupload" accept-charset="UTF-8" class="x-uploader" enctype="multipart/form-data">
  <label data-upgraded=",MaterialButton" class="mdl-button mdl-js-button mdl-button--icon mdl-button--colored f-left" for="file">
    <i class="material-icons ">cloud_upload</i>
    <input name="_token" value="3kpNrTDVx59bdv1KqB8x4HNbftxdDC1TpIjpNgeX" type="hidden">
    <input name="file" type="file" id="file">
  </label>
</form>
6
ответ дан 24.11.2019, 14:41
  • 1
    Спасибо я я функционирую, такой который, как он хотел. – vdjkelly 29.03.2016, 04:56

Теги

Похожие вопросы