Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.12.2010, 18:20
Аватар для BK201
Аспирант
Отправить личное сообщение для BK201 Посмотреть профиль Найти все сообщения от BK201
 
Регистрация: 05.07.2010
Сообщений: 32

Вывод значения value="" в <input type="file">
Как сделать на JS вывод названия файла в определенный <div id=""></div> который был указан в <input type="file"> и можно ли сделать что бы значение кнопочки менялось, т.е. например там написано "загрузить" и что бы стало "загружено" или имя файла... что то типа такого)
Ответить с цитированием
  #2 (permalink)  
Старый 03.12.2010, 20:29
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от BK201
Как сделать на JS вывод названия файла в определенный <div id=""></div> который был указан в <input type="file">
<script type="text/javascript">
window.onload = function(){
    document.getElementsByTagName('input')[0].onchange = function(){
        document.getElementsByTagName('div')[0].innerHTML = this.value;
    };
};
</script>

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


Сообщение от BK201
и можно ли сделать что бы значение кнопочки менялось
По-умолчанию такие возможности стилизации элемента не представляются. Но можно попробовать.....

Сообщение от BK201
т.е. например там написано "загрузить" и что бы стало "загружено" или имя файла
Для этого нужно задействовать Ajax
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2010, 09:51
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от BK201
можно ли сделать что бы значение кнопочки менялось, т.е. например там написано "загрузить" и что бы стало "загружено" или имя файла...
Вот почитай про наши эксперименты...
Ответить с цитированием
  #4 (permalink)  
Старый 06.12.2010, 11:44
Аватар для BK201
Аспирант
Отправить личное сообщение для BK201 Посмотреть профиль Найти все сообщения от BK201
 
Регистрация: 05.07.2010
Сообщений: 32

Сообщение от monolithed Посмотреть сообщение
<script type="text/javascript">
window.onload = function(){
    document.getElementsByTagName('input')[0].onchange = function(){
        document.getElementsByTagName('div')[0].innerHTML = this.value;
    };
};
</script>

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



По-умолчанию такие возможности стилизации элемента не представляются. Но можно попробовать.....


Для этого нужно задействовать Ajax
Спасибо!!))) работает...но есть одно но...
Допустим на странице много <div></div>, а надо передать значение только определённому.

Я писал так:
<script type="text/javascript">
window.onload = function(){
    document.getElementById('form1')[0].onchange = function(){
       	document.getElementById('name')[0].innerHTML = this.value;
		
    };
};
</script>

<input id="form1" type="file" />
<div id="name"></div>

Но не работает... где допускаю ошибку?

может есть какой то вариант сделать на jQuery

Последний раз редактировалось BK201, 06.12.2010 в 11:49.
Ответить с цитированием
  #5 (permalink)  
Старый 06.12.2010, 11:55
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

у document.getElementById() нет length, а вот в гребаном jQuery есть

<script type="text/javascript">
window.onload = function(){
    document.getElementById('form1').onchange = function(){
       	document.getElementById('name').innerHTML = this.value;
		
    };
};
</script>

<input id="form1" type="file" />
<div id="name"></div>



на jQuery будет так:

$(function(){
     $('#form1').change(function(){
         $('#name').text($(this).val());
     });
});

Последний раз редактировалось monolithed, 06.12.2010 в 11:58.
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2010, 14:38
Аватар для BK201
Аспирант
Отправить личное сообщение для BK201 Посмотреть профиль Найти все сообщения от BK201
 
Регистрация: 05.07.2010
Сообщений: 32

Работает токо в опере и IE8
я делаю кнопки немного стилизированые
использую css:
#download {
        overflow:hidden;
        width:95px;
        height:20px;
        cursor:pointer;
		background:url("/img/download.png") no-repeat scroll 0 40% transparent;
     }
#download:hover {
        overflow:hidden;
        width:95px;
        height:20px;
        cursor:pointer;
        background:url("img/download_r.png") no-repeat scroll 0 40% transparent;
     }
.input_download {
        opacity:0;
         filter:alpha(opacity:0);
         font-size:199px;
         cursor:pointer;
         padding:0px;
         margin:0px;
         border:none;
         margin-left:-450px;
     }

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

хотел использовать стилизацию как описано в статье, но тот код отключает стилизацию радио батон на jQuery.

Еще появился вопрос возможно ли передать клас в определенный div, т.е. при загруженном файле вместо пути просто подсвечивалась кнопка другим цветом.

Последний раз редактировалось BK201, 06.12.2010 в 15:41.
Ответить с цитированием
  #7 (permalink)  
Старый 06.12.2010, 16:02
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от BK201
ез добавления этого скрипта все работает... с ним не во всех браузерах...
Я это писал в Firefox, ищите проблему в своем коде
Ответить с цитированием
  #8 (permalink)  
Старый 06.12.2010, 16:08
Аватар для BK201
Аспирант
Отправить личное сообщение для BK201 Посмотреть профиль Найти все сообщения от BK201
 
Регистрация: 05.07.2010
Сообщений: 32

решение уже нашел... нужно было немного подправить CSS.

спасибо))

вот теперь думаю как бы сделать активацию кнопки если там уже загружен файл...

$(function(){
         $('#input_download1').click(function(){
			 
          if($('#input_download1').value == "") 
					{
					$('#download1').addClass("download") 
					}
					else 
					{
					$('#download1').addClass("download_activ");
					}
         });

написал такое...

как я понял, алгоритм должен быть: кликаем на кнопку->выбираем файл->добавляем его в форму->и потом идет проверка: если файл есть (value>0 )тодобавить клас такое если нету файла, то оставить как есть...

а как это правильно написать....

Последний раз редактировалось BK201, 06.12.2010 в 17:58. Причина: добавил вариант кода
Ответить с цитированием
  #9 (permalink)  
Старый 06.12.2010, 18:14
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от BK201
как я понял, алгоритм должен быть: кликаем на кнопку->выбираем файл->добавляем его в форму->и потом идет проверка: если файл есть (value>0 )тодобавить клас такое если нету файла, то оставить как есть...
Чтобы проверить, что файл загружен - необходимо получить соответствующий ответ от сервера, для используйте Ajax
Ответить с цитированием
  #10 (permalink)  
Старый 06.12.2010, 18:30
Аватар для BK201
Аспирант
Отправить личное сообщение для BK201 Посмотреть профиль Найти все сообщения от BK201
 
Регистрация: 05.07.2010
Сообщений: 32

решение нашли))
Просто проверяются все input:file и где появляется файл присваивается другой класс

Последний раз редактировалось BK201, 06.12.2010 в 18:41.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Значения input radio bFire Events/DOM/Window 1 21.11.2010 03:42
Разные значения clientWidth в ie и ff SILVERSPEED Events/DOM/Window 6 20.04.2010 01:11
вывод картинки и vrml mister_maxim Events/DOM/Window 16 12.01.2010 17:40
Вывод JS значения в одну строку в HTML velo Общие вопросы Javascript 7 15.12.2009 03:57
Пошаговый вывод скрипта для IE всех версий. Zidky Элементы интерфейса 10 17.06.2009 18:27