Во всех браузерах форма загрузки файла выглядит по разному, чтобы стилизовать это в единый стиль, либо загружать файл одной кнопкой, существует такое решение.
При клике по кнопке срабатывает клик по форме загрузки файла (которая скрыта).
При выборе файла в диалоге загрузки происходит выполнение JavaScript функции.
Но если вы сделаете style="display:none" то в нашей любимой опере это не будет работать, для оперы скрытие объекта без его исключения из DOM нужно делать следующим CSS хаком:
visibility:hidden;position:absolute;top:0;
В общем это решение будет выглядеть так:
<form method="POST" enctype="multipart/form-data" action="/index.php" id="form1">
<button type="button" onclick="$(\'input#fff').click();">Загрузить</button>
<input id="fff" type="file" name="file_inp"
style="visibility:hidden;position:absolute;top:0;" onchange="
</form>
Для работы метода, требуется библиотека JQuery
В Opera эта ошибка выглядит так:
click bubbling
Event handler
(Missing source file)
При клике по кнопке срабатывает клик по форме загрузки файла (которая скрыта).
При выборе файла в диалоге загрузки происходит выполнение JavaScript функции.
Но если вы сделаете style="display:none" то в нашей любимой опере это не будет работать, для оперы скрытие объекта без его исключения из DOM нужно делать следующим CSS хаком:
visibility:hidden;position:absolute;top:0;
В общем это решение будет выглядеть так:
<form method="POST" enctype="multipart/form-data" action="/index.php" id="form1">
<button type="button" onclick="$(\'input#fff').click();">Загрузить</button>
<input id="fff" type="file" name="file_inp"
style="visibility:hidden;position:absolute;top:0;" onchange="
$('#form1').submit();
"></form>
Для работы метода, требуется библиотека JQuery
В Opera эта ошибка выглядит так:
click bubbling
Event handler
(Missing source file)
Комментариев нет:
Отправить комментарий