Нашел плагин jquery динамической загрузки файлов.
Вот ссылка на его скачивание
Также, использую гугловский ajax.
Вот
ИСХОДНЫЙ код страницы, где используется плагин загрузки.
Проблема в том, что вроде бы всё встраиваю верно. Сначала jquery, потом плагин. Затем функция:
$(document).ready(function() {
$('#avatar').live('change', function() {
$("#preAva").html(''); // чистим preview
$("#preAva").html('<img src="images/load.gif" height="32" />');
$("#formAvaUpload").ajaxForm({
target: '#preAva'
}).submit();
});
});
Потом сама форма с div'ом для превью:
<div id="preAva">
<?php
if ($authArr['info']['avatar']){
echo <<<EOD
<img src="images/avatars/{$authArr['info']['avatar']}" height="100">
EOD;
} else {
echo "Аватар не установлен";
}
?>
</div>
<form id="formAvaUpload" method="post" enctype="multipart/form-data" action="php_avatar.php">
<input type="file" name="avatar" id="avatar" />
</form>
Запускаю страницу. После загрузки выпадает ошибка о том, что изначально плагин не идентифицирован.
Код:
|
Uncaught TypeError: undefined is not a function
(anonymous function)
m.Callbacks.j [jquery.min.js:2]
m.Callbacks.k.fireWith [jquery.min.js:2]
m.extend.ready [jquery.min.js:2]
J [jquery.min.js:2] |
жалуясь на строку
$('#avatar').live('change', function() {
Файл выбирается нормально, в форме отображается выбранный файл, но картинка загрузки
$("#preAva").html('<img src="images/load.gif" height="32" />');
не отображается.
Смешно то, что у меня есть еще один сайт, где практически всё тоже самое. Подозреваю в этом ВОЗМОЖНО устаревшую версию jquery в google, но пока не пробовал. Может кто сталкивался с такой проблемой и знает, как ее решить?