Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2010, 22:27
Новичок на форуме
Отправить личное сообщение для Serghant Посмотреть профиль Найти все сообщения от Serghant
 
Регистрация: 21.10.2010
Сообщений: 2

Проблема с input:file
Доброго времени суток! Проблема с запуском input:file, есть html-код:
Код:
input.browsetext 
{
	 background: transparent;
	 height: 17px;
	 width: 190px;
	font-family:'PT_Sans_Caption';
	font-size:12px;
	text-align:left;	
	 border: none;
	 color:#28587b;
	 padding-left:3px;
	padding-right:6px;
	}
.faketext {
	position: absolute;
	top: 0px;
	left: 20px;
	z-index: 5;
	background-repeat:no-repeat;
	height:22px; 
	background-image:url(../images/edit/Edit205.png);
	margin-top:2px;
	width:205px;
}

div.fileinputs {
	position: relative;
	left:0;
}

div.fakebtn {
	float:left;
	position: absolute;
	top: 0px;
	left: 230px;
	z-index: 3;
}
input.fakefile {
	position: absolute;
	-moz-opacity:0 ;
	filter:alpha(opacity: 0);
	opacity: 0;
	z-index: 1;
	width:260px;	
	height:29px;
}
<div class="fileinputs">
                            <input type="file" class="fakefile">
                            <div class="faketext">
                                <input type="text" class="browsetext" readonly="">
                            </div>
                            <div class="fakebtn">
                               <img src="images/ButtonBrowse_03.png" alt="" border='0' />
                            </div>
                        </div>

$(".fakebtn img").click(function()
	{	
		//alert($(this).parent().parent().find(".fakefile").attr("class"));
		$(this).parent().parent().find("input:file.fakefile").click();
		//$("#ttt").click();
	});
   $(".fakebtn img").mouseover(function()
	{	
	//	alert($(this).parent().parent(".faketext input").attr("class"));
		$(this).css("cursor","pointer");
	});
	$(".fileinputs input:file").change(function () 
		{
				$(this).parent().find(".faketext input:text").val($(this).val());
		});

здесь нестандартное оформление input:file, суть в том что я нажимаю на img и должно открыться окно проводника, потом value подставляется в input:text. Код работает, но только в Хроме, в остальных браузерах событие не обрабатывается должным образом.
Имеется ли альтернативный способ вызова проводника??? Подскажите кто сталкивался
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2010, 23:38
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Serghant
$(this).parent().parent().find("input:file.fakefil e").click();
вообще-то, единственный кросбраузерный способ сделать открытие окошка выбора файла, при клике не по input:file, а по другому объекту(рисунку к примеру) - это все-таки заставить пользователя кликнуть именно по Input:file, подсунув его полностью прозрачный под курсор мыши.
Сообщение от Serghant
$(this).parent().find(".faketext input:text").val($(this).val());
а получить полное значение Input:file кросбраузерно даже с хаками нельзя
Ответить с цитированием
  #3 (permalink)  
Старый 22.10.2010, 09:57
Новичок на форуме
Отправить личное сообщение для Serghant Посмотреть профиль Найти все сообщения от Serghant
 
Регистрация: 21.10.2010
Сообщений: 2

хм... а у input:file не существует каких то специальных свойств?
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2010, 11:57
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

кроссбраузерно - нет
в value может быть полный путь, только имя файла, или вообще пустая строка, в зависимости от браузера.
в некоторых браузерах есть мультиаплоад, с прочими вкусностями.
но опять-таки не везде.

точно не помню по браузерам поведение, так что возможно хоть какую-то инфу и можно вытянуть одим из двух способов.
при условии что у посетителя достаточно свежий браузер.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47