Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почти ajax
 
 автор: neadekvat   (12.05.2009 в 16:47)   письмо автору
 
 

Добрый день
Итак, делаю я (в инете нарыл) загрузку файлов на сервер по принципу "ajax" (чтоб незаметно было, через фрейм), вот код страницы, откуда файл загружается:
<form action="upload.php" name="uploadForm" method="post" target="hiddenframe" enctype="multipart/form-data"
onsubmit="document.getElementById('res').innerHTML=''; document.getElementById('loading').style.display='block'; 
return true;">
<input type="file" name="filename" />
<input type="submit" value="Загрузить"  />
</form>

<div id="loading" style="display:none; position: absolute; z-index: 99; left: 45%; top: 45%;">
<img src="img/loading.gif" border="0" /> Идет загрузка...
</div>
<iframe id="hiddenframe" name="hiddenframe" style="width:0; height:0; border:0"></iframe>

Вот код страницы upload.php
if (empty($error)) { ?>
   window.parent.document.getElementById("res").innerHTML="<input type='text' value='<?=$new_file_name?>' name='photo' disabled size='15' />";
<? } else { ?>
  window.parent.document.getElementById("res").innerHTML="Ошибка при загрузке файла";
<? }

(Представлены важные части кода. Остальное, по-моему, не имеет значения)
В первую же страницу возвращается ответ сюда:
<div id="res" style="margin: 1em 0"></div>

Все работает, ответ возвращается, но на самой странице (первой) он не присутствует
Скажите, пожалуйста, как можно доработать код, чтобы на первой странице в результате я получил это:
<div id="res" style="margin: 1em 0"><input type='text' value='%file_name%' name='photo' disabled size='15' /></div>

Или, может быть, можно сразу заготовить на первой странице
<input type='text' value='%file_name%' name='photo' disabled size='15' />

чтобы скрипт возвращал только имя файла

  Ответить  
 
 автор: Balamut182   (14.05.2009 в 02:20)   письмо автору
 
   для: neadekvat   (12.05.2009 в 16:47)
 

серверный скрипт печатает тебе имя файла в фрейм, на фрейм вешаешь событие онлоад и берешь содержимое фрейма, как то так

frame.onload="function(){
var doc = this.contentDocument ? this.contentDocument : frames[this.id].document;
var res = doc.body.innerHTML;
}

в res должен быть ответ сервера

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования