Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > как обработать тег <input type="file"


Автор: СЭНСЭЙ 15.3.2012, 17:25
Добрый день!
Хочу написать загрузчик изображений на сервер аяксом.
Смотрел в инете примеры - подходящего не нашел.
Хочу что бы функция аяксом передавала в пхп файл на обработку.
Помогите пожалуйста, дайте понятный пример.

Автор: trix 17.3.2012, 03:01
только через ифрейм.
Код

<script>
function getImagesIframe(){
    $('body').append('<iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>');
    $('iframe#upload_target').load(function(){
        var f = $(this);
        var content = f.contents().find('body').text(); //получаем содержимое ифрейма, т.е. ответ сервера
        var self = $('form').eq(0);
        self.removeAttr('target'); //подчищаем форму если нужно
        self.attr('ACTION', ''); //экшн большими буквами, это важно для какого-то там браузера
        f.remove();
    });
    var self = $('form').eq(0);
    self.attr('target', 'upload_target'); //ставим форме временно таргет наш ифрейм
    self.attr('ACTION', '/image.php');
    self.submit();
}
</script>

Код

<form>
<input type="file" name="image" />
<input type="button" value="Загрузить изображение" onclick="getImagesIframe()">
</form>


вот как-то так. своял за пару минут, так что может и попадутся ошибки, но само решение рабочее, я использовал его.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)