Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как изменить id на класс (https://javascript.ru/forum/dom-window/42453-kak-izmenit-id-na-klass.html)

imediasun1 27.10.2013 12:27

Как изменить id на класс
 
В одной функции есть получение данных и вывод их в блок с id result
onstart:function () {//действие при начале загрузки файла
	            $$('result','начинаю отправку файла');//в элемент с id="result" выводим результат
	        },
	        onsend:function () {//действие по окончании загрузки файла
	            $$('result',$$('result').innerHTML+'<br />файл успешно загружен');//в элемент с id="result" выводим результат

Как написать что выводить надо в блок $(this).find('.result')
P.S.
Не знаю почему в этой функции два знака доллора перед селектором, но все работает и мне нравится как оно работает

danik.js 27.10.2013 13:57

Цитата:

Сообщение от imediasun1
е знаю почему в этой функции два знака доллора перед селектором

По той же причине, по какой у тебя в нике вконце стоит единица.

imediasun1 27.10.2013 14:18

так как изменить id на класс?

danik.js 27.10.2013 14:37

$('#result').find('.result').append($('<br />файл успешно загружен'));

imediasun1 27.10.2013 14:52

так не сработало, я написал
$(this).find('.result').append($('<br />файл успешно загружен'));

А что означает каждое действие следующей строки, если можно по полочкам начиная с двух знаков доллара
$$('.result',$$('.result').innerHTML+'<br />файл успешно загружен');

danik.js 27.10.2013 15:17

видимо функция $$ делает выборку элемента, совпадающего по селектору, указанному первым параметром. И устанавливает новое значение innerHTML, которое передается вторым параметром.

imediasun1 27.10.2013 15:21

Вот код этой функции, или она это где то в jquery производит
$('.form_test').change(function(){
var form = $(this).find('.test_form').attr('id');
var result = $(this).find('.result').attr('id');
SendFile();

	function SendFile() {
	  //отправка файла на сервер
	    $$f({
			
	        formid:form,//id формы
	        url:'/functions/change_photo1',
			//адрес на серверный скрипт который будет принимать файл
	        onstart:function () {//действие при начале загрузки файла
	            $$('result','начинаю отправку файла');//в элемент с id="result" выводим результат
	        },
	        onsend:function () {//действие по окончании загрузки файла
	            $$('result',$$('result').innerHTML+'<br />файл успешно загружен');//в элемент с id="result" выводим результат
				
				/* location.reload(); */
	        }
	    });
	
	}
	

});

Меня интересует как вывести то что приходит из обработчика не в элемент с id 'result' как эта функция выводит, а в элемент с классом result находящемся в this блоке (блок в котором присходит изменение $('.form_test'))

imediasun1 27.10.2013 15:30

echo'
	        <script type="text/javascript">
	        var elm=parent.window.document.getElementById("result");
	        elm.innerHTML=elm.innerHTML+"<br />Получено имя '.str_replace("\r","",str_replace("\n","<br />",htmlspecialchars(stripslashes($_POST['id_article'])))).' с текстом '.str_replace("\r","",str_replace("\n","<br />",htmlspecialchars(stripslashes($_POST['comment'])))).' ";
	        </script>
	    ';

Так я из обработчика посылаю, но в консоли следующее
про эту строку
TypeError: elm is null


var elm=parent.window.document.getElementById("result" );

change_photo1 (строка 35)
TypeError: elm is null


....innerHTML+"<br /><h3>Файл 0ebd0d6e4a7fe41b979befee9c4b5d762.jpgуспешн загружен...

change_photo1 (строка 17)
TypeError: elm is null


elm.innerHTML=elm.innerHTML+"600";

change_photo1 (строка 20)
TypeError: elm is null


elm.innerHTML=elm.innerHTML+"<br /><h3>Ресайз произведен</h3>";

change_photo1 (строка 23)
TypeError: elm is null


...nerHTML=elm.innerHTML+"<br /><h3>crop start0ebd0d6e4a7fe41b979befee9c4b5d762.jpg...

change_photo1 (строка 26)
TypeError: elm is null


elm.innerHTML=elm.innerHTML+"<br /><h3>image_info350</h3>";

change_photo1 (строка 29)
TypeError: elm is null


elm.innerHTML=elm.innerHTML+"<br /><h3>crop complete</h3>";

change_photo1 (строка 32)
TypeError: elm is null


elm.innerHTML=elm.innerHTML+"<br />id_article 1 id_photo photo1 ";

imediasun1 27.10.2013 15:37

у меня все подключено и все работает, вот только вопрос вы не прочитали в чем суть его не поняли

imediasun1 28.10.2013 13:37

друзья, посмотрите пожалуйста пост 8, как решить эту проблему


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