Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2009, 15:53
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

Динамическая смена рисунка на html, используя локальные рисунки с компа пользователя
Здравствуйте! Вопрос такой:
есть примерно такой простой html-код
<img src='src1' /><br/>
<input type='file' value='сменить рисунок'/>

Можно как либо сменить рисунок находящийся в src на выбранный пользователем локальный рисунок?
В принципе можно рисунок и input поместить во фрейм и на событии onchange кидать файл на сервер, записывать его в темповую папку сервера а потом переформировывать страницу, но может есть другие решения?Граждане, помогите кто чем может!

p.s.:протокол file:/// в src картинки не работает
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2009, 16:06
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Не думаю, что есть другие решения.
то, что file: не работает при загрузке страницы с сервера это правильно с точки зрения безопасноти. в свое время было немало проблем из-за разрешенного протокола file:
способ с сервером кажется мне единственным
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2009, 16:21
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

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

ну, готового скрипта нету.
но и пишется он не так уж сложно.
делаете форму загрузки , чтобы загружало в скрытый iframe
на стороне сервера скрипт принимающий файл пусть возвращает ссылку на рисунок.
когда фрейм прогрузится(onload) меняете src у необходимого рисунка на тот, который прописан во фрейме
что же до крсасивостей, попробуйте http://dklab.ru/lib/JsHttpRequest/
у них вроде есть такая красивость.
ну, или гляньте как прогресбар работает у какого-нибудь ресурса
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2009, 16:31
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

ладно буду писать сам тогда. Я mootools использую там красивости вроде есть. Спасибо Gvozd за ответы!
Ответить с цитированием
  #6 (permalink)  
Старый 24.03.2009, 16:50
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

пожалуйста
Ответить с цитированием
  #7 (permalink)  
Старый 27.03.2009, 00:21
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

чето я туплю - не могу передать файлы в iframe

клиентская часть
...
<iframe id='fr' name ='fr' src='' width="200px" heigth="200px"</iframe><br/>
<form id="FormName" name="FormName" action="server.php" method="post" enctype="multipart/form-data" target="fr">
<input id="fileLoad" type="file" value="сменить картинку" onchange="javascript:FormName.submit();"></input>
</form>
...
серверная часть
...
<?php print_r($_FILES); ?>
...

пхп пишет что массив $_FILES пуст. Подскажите ламеру где я проморгал?
Ответить с цитированием
  #8 (permalink)  
Старый 27.03.2009, 01:08
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

на форуме доступны BB-теги для оформления кода
к тому же:вы хоть следите за своим HTML-ем.
у вас теги не закрытые.атрибуты посторонние.
вот перебрал вашу форму.попробуйте, долодно работать:
<iframe id='fr' name ='fr' src='' width="200px" heigth="200px"></iframe><br/>
<form id="FormName" name="FormName" action="server.php" method="post" enctype="multipart/form-data" target="fr">
<input id="fileLoad" type="file" onchange="javascript:FormName.submit();" />
<input type="submit" />
</form>
Ответить с цитированием
  #9 (permalink)  
Старый 27.03.2009, 13:02
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

Спасибо за ответ-почему то не прокатило ни в мозиле ни в ие
пустые массивы $_FILES и $_POST
Ответить с цитированием
  #10 (permalink)  
Старый 27.03.2009, 13:14
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

неужели, я должен исправлять все эти мелкие недописки за тебя?
после того как ты попробовал мое исправление,и убедился что оно не работает, ты что-то пытался сделать?
ты забыл атрибут name для соответствующего поля формы
естественно, что без него на сервер ничего не приходило
иди кури HTML:
http://html.manual.ru/
http://htmlbook.ru/html/
Ответить с цитированием
Ответ



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

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