Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Загрузка Изображений (https://javascript.ru/forum/dom-window/41473-zagruzka-izobrazhenijj.html)

amf1k 15.09.2013 20:54

Загрузка Изображений
 
Помогите, дописать скрип, есть аjax форма для выбора и загрузки с предпросмотром изображений, как сделать так, что-бы можно было огранить количество выбранный изображений?
<html>
<head>

<script type="text/javascript" >
//Обработчики событий интрфейса
//Удаление выбранного фото
$(".delpreview").live("click", function(){
    $(this).parent().remove();
});
	
//Upload
$(function(){ 
    var btnUpload=$('#upload');
    var status=$('#status');
    new AjaxUpload(btnUpload, {
        action: 'upload-file.php',
        name: 'uploadfile',
        onSubmit: function(file, ext){
            if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){  
                status.html('<div class="act_error" style="margin-top: -25px;">Поддерживаемые на Сайте Форматы<br/>Изображений: JPG, PNG или GIF</div>');
				return false;
            }
            status.html('<center><div id="load"></div></center>');
        },
        onComplete: function(file, response){
            status.text('');
            if(response==="success"){
                
                $('<li></li>').appendTo('#files').html('<center><a class="zoom" href="uploads/'+file+'" "><img src="uploads/'+file+'" alt="" /></a></center><input type="hidden" name="person['+file+'][images]" value="uploads/'+file+'" /><span class="delpreview"></span>').addClass('success');
                $().appendTo(li);
            } 
            else {
                $('<li></li>').appendTo('#files').text('Файл не загружен: (Проверьте Формат: IMG) ' + file).addClass('act_error');
            }    
        }       
    });
});
</script>

<!--ZOOM-->
<script type="text/javascript" src="zoom/zoom.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="zoom/zoom.css" />
</head>
<body>
<div class="wrap" >
    <h1>Загрузка изображений с Предосмотром (Ajax, jQuery, PHP)</h1>
    <div id="upload">Выбрать файл</div>
    <form action="post.php" method="POST" enctype="multipart/form-data">
        <span id="status" ></span>
        <form action="post.php" method="POST">
                <ul id="files"></ul>
        </form>
    </form>
</div>
</body>
</html>

danik.js 15.09.2013 22:17

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

amf1k 15.09.2013 23:11

а модераторы зачем тогда?

amf1k 15.09.2013 23:13

как сделать, чтобы пользователь мог загрузить только 5 изображений за раз! Как это сделать?

danik.js 16.09.2013 05:21

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

amf1k 16.09.2013 13:57

спасибо, что подсказал, не знал что у вас на сайте такое можно делать самому, думал это делают модераторы) подскажи а реализовать мой вопрос?

amf1k 18.09.2013 14:34

HELP!

ksa 18.09.2013 14:57

Цитата:

Сообщение от amf1k
как сделать так, что-бы можно было огранить количество выбранный изображений?

Как понять слово "огранить" применительно к картинкам?

danik.js 18.09.2013 15:05

Заводишь переменную-счетчик.
var FILE_LIMIT = 5;
var fileCount = 0;


Создаешь функцию, например:
function changeFileCount(amount) {
    fileCount += amount;
    // если лимит - скрываем кнопку, иначе отображаем.
    $('#upload').toggle(fileCount == FILE_LIMIT);
}


В обработчики onSubmit, после проверки расширения вызываешь changeFileCount(+1)
В обработчике клика .delpreview вызываешь changeFileCount(-1)
В обработчике onComplete в случае неудачи вызываешь changeFileCount(-1)


Часовой пояс GMT +3, время: 06:51.