AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Отправка файла с использованием AJAX.

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

Мы используем невидимый фрейм, в который отправляем результат работы скрипта. Чтобы не потерять результат работы мы его делаем видимым в момент отправки.



Вы, возможно, спросите, а как совместить отправку данных с помощью Ajax и отправку файла. Отвечаю, очень просто, делаем две формы:

// Здесь должен быть запрос к базе и получение данных в массив $row
echo '<br>
<!--первая форма отправки данных с помощью Ajax -->
<form method="POST" action="edit.php" onsubmit=\'return SendForm("edit",this);\'>
<input type="hidden" name="id" value='.$row['id'].' />
Наименование: <input type="text" name="name" size=75 value="'.$row['name'].'" style="width:95%" /><br>
Описание: <input type="text" name="description" size=75 value="'.$row['description'].'" /><br>
Код производителя: <input type="text" name="kod_prodact" size=25 value="'.$row['kod_prodact'].'" /><br>
Цена закупки: <input type="text" name="price0" size=10 value="'.$row['price0'].'" />
<input type=\'submit\' value=\'Сохранить\' />
<span id="edit"><!--сюда выводиться ответ от Ajax запроса--></span>
</form>
<!--вторая форма загрузки изображения -->
<form enctype="multipart/form-data" method="POST" action="edit.php"
    target="upload_frame" onsubmit=\'getObj("upload_frame").style.display="block"\'>
<input type="hidden" name="id" value='.$row['id'].' />
<input name="MAX_FILE_SIZE" type="hidden" value="100000" />
Изображение(<100Kb): <input type="file" name="img" size=55 />
<input type="submit" value="Загрузить" />
</form>
<iframe id="upload_frame" name="upload_frame" width="468" height="30" style="display:none"></iframe>';

Используемые скрипты из общей библиотеки js.js:


Этот код использован в админской части интернет магазина компьютерной техники г.Ростова-на-Дону: http://eaiti.ru

Пример отправки файла на сервер с указанием сколько загруженно/осталось.


.

© Copyright 2008- by KDG



Rambler's Top100