Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Закачка файлов JS (https://javascript.ru/forum/misc/6798-zakachka-fajjlov-js.html)

B@rmaley.e><e 17.07.2012 07:29

Цитата:

Сообщение от Rinas
opacity работает только в CSS3

opacity и его аналоги уже сто лет как поддерживаются всеми браузерами.

А вот Ваше решение — действительно бред. Нельзя программно кликнуть на input[type=file].

<input type="file" id="file" />

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
var file = $('#file');
alert("Let's click of #file…");
file.trigger('click');
alert('Clicked! Value: '  + file.attr('value'))
</script>

devote 17.07.2012 07:41

Rinas,
некропостить обязательно? Ты на год последнего поста смотрел? И все браузеры давно поддерживают opacity, и даже для ишака есть решение, если ты не в курсе, то делается оно очень просто:
style="opacity: 0; filter: Alpha(opacity=0);"

bes 17.07.2012 13:05

В хроме такое прокатывает
<a href="#">
  <label style="cursor: pointer">
    <input type="file" style="display: none">
    link
  </label>
</a>

devote 17.07.2012 13:52

в опере такое прокатывает:
<label style="cursor: pointer">
    <input type="file" style="width:0;height:0;visibility:hidden;position:absolute;">
    link
</label>

bes 17.07.2012 14:00

так везде катит, кроме FF
<label style="cursor: pointer">
    <input type="file" style="position: absolute; left: -200px; top: -200px;">
    link
</label>

devote 17.07.2012 15:03

Цитата:

Сообщение от bes
так везде катит, кроме FF

ну ФФ всегда был капризным к полю типа файл, даже размер input'а не меняется по человечески.

tadjik1 17.07.2012 19:41

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
$(function() {
$('#uploadbtn').click(function(e) {
$('#upload').click();
});
});
</script>

<p><input id="uploadbtn" type="button" value="Select Files"/></p>
<input id="upload" type="file" name="loadfile" style="visibility: hidden; opacity: 0; position: absolute;">

Deff 17.07.2012 19:48

tadjik1,
Туть не кликают программно - а речь о размещении прозрачного input выше видимой, красиво оформленной кнопки,
т.е в итоге кликают все по тому же <input type="file"

tadjik1 17.07.2012 19:50

Deff,
да я уже начал проверять во всём, что установлено просто))

на самом деле мне не нужно поддерживать оперу, довольно редко ИЕ, в основном только последние хром и фф. это кусок, который у меня используется. полый хтмл:

<div class="dropareainner">
		<p class="dropfiletext">Drop files here</p>
		<p>or</p>
		<p><input id="uploadbtn" type="button" value="Select Files"/></p>
		<p>Max size: <%= data.size_limit %>kb</p>
		<!-- extra feature -->
		<p id="err"><!-- error message --></p>
	</div>
	<input id="upload" type="file" name="loadfile">
</div>

bes 17.07.2012 21:21

Ну а что, в FF click() катит.
Так работает везде
<label style="cursor: pointer">
  <input type="file" style="position: absolute; left: -200px; top: -200px;">
  <span onclick="if (navigator.userAgent.indexOf('Firefox') != -1) {this.parentNode.children[0].click();}">
  link</span>
</label>


Часовой пояс GMT +3, время: 16:46.