Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2013, 19:09
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

Получить value загруженного изображения
Здравствуйте!

Я использую этот скрипт для ajax-загрузки изображений:
http://ajaxs.ru/lesson/ajax/108-zagr...na_server.html


Вот часть кода, которая отвечает за появление загруженного изображения на странице:

$('<div></div>').appendTo('#files').html('<img src="temporary/uploads/'+file+'" alt="upload image" id="uploaded" value="text" onclick="select_uploaded();">').addClass('success');


Я пытаюсь получить value разными способами:
var uploadedbalue = document.getElementById('uploaded').value;
$('#uploaded').val();


Но почему-то всегда возвращается undefined!
В чём дело?

Последний раз редактировалось allanmiln, 13.03.2013 в 19:15.
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2013, 19:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Свойство value есть только у элементов формы - select, input, textarea. У изображений его нет, что вполне логично.
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2013, 19:33
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

Блин, точно
Во лохонулся ))
А как тогда можно обработать загруженное изображение php скриптом?
Допустим, человек загрузил его, а как узнать, какое именно?
Я хочу как-то идентифицировать его и занести в скрытый input.
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2013, 19:37
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

И ещё, у меня есть jquery скрипт jquery.radioImageSelect, который заменяет select'ы изображениями.
Так вот, я хочу вывести загруженное изображение этим селектом:
<input type="radio" name="bgtexture" class="radioImageSelect" data-image="'+file+'" value="'+file+'">

И выходит обычный select без изображения!
А если указать этот input в коде страницы, то всё ок. Почему скрипт не оформляет select'ы, полученные из AJAX?
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2013, 19:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от allanmiln
Почему скрипт не оформляет select'ы, полученные из AJAX?
Потому что он "не вкурсе" об этих ваших ajax'ах. Он не следит за всем что происходит на странице. И не может в общем то.

Сообщение от allanmiln
хочу как-то идентифицировать его
id? class? data-* атрибуты?
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2013, 20:03
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

Цитата:
Потому что он "не вкурсе" об этих ваших ajax'ах. Он не следит за всем что происходит на странице. И не может в общем то.
А как можно его заставить следить? Или прописать, чтобы селекты сразу появлялись оформленными по правилам из нужного скрипта?

А если изображений будет загружено несколько, то ни id ни class не подойдут. А вот с data-* попробую
Кстати, data-image подойдёт?
Ответить с цитированием
  #7 (permalink)  
Старый 13.03.2013, 21:18
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

Блин, не получается.
Пытаюсь с data-index="'+file+'", но чтобы обратиться к этому data-index, ножно знать id или class (this) не катит.
id вообще отбрасываю, т.к. id не может повторяться.

Делаю так:
var index = $('.uploaded').attr("data-index");

Но возвращается data-index первого загруженого изображения, а не того, на которое я нажал.

Последний раз редактировалось allanmiln, 13.03.2013 в 21:36.
Ответить с цитированием
  #8 (permalink)  
Старый 13.03.2013, 21:37
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

В хидер пропишите
var idImg=[]
$('img').onload(function() {
  alert($(this).attr('data-index'));
  this.id=$(this).attr('data-index');
  idImg.push([this.id,this.src]); //Можно воткнуть id и src в массив загруженных

});
Ответить с цитированием
  #9 (permalink)  
Старый 13.03.2013, 21:37
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Не понимаю, зачем вы все усложняете. Зачем гонять разметку, если можно сервером вернуть просто массив со значениями атрибутов src, alt, image и т.д.

Последний раз редактировалось danik.js, 13.03.2013 в 21:40.
Ответить с цитированием
  #10 (permalink)  
Старый 13.03.2013, 22:06
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

Получилось так:

$('.img').live('click',function(){
var img = $(this).attr('id');
alert(img);
});


jQuery live =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение изображения загруженного с помощью ajax overdrive Общие вопросы Javascript 2 06.11.2012 02:46
Получить свойства изображения из url ksevelyar jQuery 3 03.08.2012 23:20
Расчет реальных размеров изображения в галерее Vision Элементы интерфейса 7 10.07.2012 21:56
как получить сообщение об ошибке при загрузке изображения? wild_snail Общие вопросы Javascript 2 05.04.2012 12:23
Чтение пикселов загруженного изображения SunnyDay Общие вопросы Javascript 4 19.02.2009 18:28