powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Работа с объектами в javascript
15 сообщений из 15, страница 1 из 1
Работа с объектами в javascript
    #34720434
dima-russel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть кусок скрипта, следующая функция
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
function JSUtils(){
    this.createFakeElement = function(doc, id, js, debug){
    	var aElem = doc.createElement("a");
        var jsTrimmed = trim(js);
        if (jsTrimmed && jsTrimmed.charAt(jsTrimmed.length- 1 )!=';'){
            js = jsTrimmed+";";
        }
        var newJS = "try {"+js+"}catch(err){document.getElementById('"+id+"debug').innerHTML=err.description;}";
        aElem.setAttribute("onclick", newJS);
        aElem.id = id;
        var lastNode = doc.childNodes[ 0 ];
        if (lastNode.childNodes[ 0 ]){
            lastNode.insertBefore(aElem, lastNode.childNodes[ 0 ]);
        }else{
            lastNode.appendChild(aElem);
        }
        if (debug){
            aElem.innerHTML = id;
        }
        this.createFakeElementResult(doc, aElem, id+"debug", debug);
    }
    
    this.createFakeElementResult = function(doc, parent, id, debug){
        var aElem = doc.createElement("div");
        aElem.id = id;
        if (!debug){
            aElem.setAttribute("style", "display:none");
        }
        parent.appendChild(aElem);
        aElem.innerHTML = "cleared";
    }
}

Вызываю её как
Код: plaintext
1.
2.
<form>
<input type="submit" onClick="JSUtils().createFakeElement(doc, id, js, debug)" style="width: 120px; font-weight: normal;"  value="Create element!"/>
       </form>
но ничего не срабатывает почему-то. Я с объектами в javascript не очень, но вроде всё правильно написал. А тут даже отладчик ничего не ловит. Где ошибся-то?
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720459
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
не увидел где создаётся экземпляр объекта...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720483
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
new JSUtils().createFakeElement(
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720570
dima-russel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал так
Код: plaintext
<input type="submit" onClick="new JSUtils().createFakeElement(doc, id, js, debug)" ...
Всё равно ничего.В firebug при нажатии на кнопку указатель вылетает на тег <html>, а потом в файл со скриптом...
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720638
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эххх, маладежжжжььь...
Никакой это у тебя не объект.
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720678
dima-russel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо. Как правильно вызвать?
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720721
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima-russelХорошо. Как правильно вызвать?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
JSUtils = function() {
    }

JSUtils.prototype.createFakeElement = function(doc, id, js, debug){
    	var aElem = doc.createElement("a");
        var jsTrimmed = trim(js);
        if (jsTrimmed && jsTrimmed.charAt(jsTrimmed.length- 1 )!=';'){
            js = jsTrimmed+";";
        }
        var newJS = "try {"+js+"}catch(err){document.getElementById('"+id+"debug').innerHTML=err.description;}";
        aElem.setAttribute("onclick", newJS);
        aElem.id = id;
        var lastNode = doc.childNodes[ 0 ];
        if (lastNode.childNodes[ 0 ]){
            lastNode.insertBefore(aElem, lastNode.childNodes[ 0 ]);
        }else{
            lastNode.appendChild(aElem);
        }
        if (debug){
            aElem.innerHTML = id;
        }
        this.createFakeElementResult(doc, aElem, id+"debug", debug);
    }
    
JSUtils.prototype.createFakeElementResult = function(doc, parent, id, debug){
        var aElem = doc.createElement("div");
        aElem.id = id;
        if (!debug){
            aElem.setAttribute("style", "display:none");
        }
        parent.appendChild(aElem);
        aElem.innerHTML = "cleared";
    }



Я только не вижу, что такое у тебя doc
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720790
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima-russelСделал так
Код: plaintext
<input type="submit" onClick="new JSUtils().createFakeElement(doc, id, js, debug)" ...
Всё равно ничего.В firebug при нажатии на кнопку указатель вылетает на тег <html>, а потом в файл со скриптом...
а консоль ошибок даёт doc is not defined=)?
doc, id, js, debug чему равны?

Хрюхрюшкин. , и так и так работать будет
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720811
dima-russel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Та да-я тож допёр что перенных на входе маловато. Начальник впёр-сиди разбирайся, вызовешь функцию и всё там, ан не всё так просто. Теперь вот пытаюсь понять, что там теоретически могло подаваться. Ну похоже что doc=this....
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720828
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER
Хрюхрюшкин. , и так и так работать будет
Меня напрягло заявление "Работа с объектами" :)
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720832
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел в виду, конечно, объект в смысле экземпляр некоего класса :)
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720904
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрюхрюшкин.Я имел в виду, конечно, объект в смысле экземпляр некоего класса :)
прототипа=)
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720917
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER Хрюхрюшкин.Я имел в виду, конечно, объект в смысле экземпляр некоего класса :)
прототипа=)
Т.к. кроме прототипов ничего похожего на классы нет, то можно их и классами называть, я думаю. Это привычнее.
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34720958
dima-russel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Holly wars развели =).
Короче переменные в функцию-
doc= документ
id= id, в который будет передаватся результат
js= произвольный скрипт
debug= режим просто

Уже написал что-то типа

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<input type="submit" onClick="JSUtils.createFakeElement(document, document.getElementById('my'), hi(), false)" style="width: 120px; font-weight: normal;"  value="Create element!"/>
       </form>
			</td>
			<!-- content -->
	</tr>
	<tr>
		<td class="footer" height="31" id="my">
			</td>
hi()-просто вызов алерта.
А оно говрит что JSUtils.createFakeElement - не функция вообще. И как его победить??
...
Рейтинг: 0 / 0
Работа с объектами в javascript
    #34721570
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima-russel
А оно говрит что JSUtils.createFakeElement - не функция вообще. И как его победить??
правильно говорит JSUtils это функция. У функций нет метода createFakeElement.
А начальник наверно в образовательных целях "впёр". Разберитесь сначала что есть функция, что объект, и как с этим работать в JS
http://dklab.ru/chicken/nablas/38.html
http://dklab.ru/chicken/nablas/39.html
там ещё про JS наблы есть
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Работа с объектами в javascript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]