Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Java / JavaScript


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Java/JavaScript

Выпуск № 441
от 27.09.2007, 13:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 363, Экспертов: 33
В номере:Вопросов: 2, Ответов: 2


Вопрос № 102954: Здравствуйте. Столкнулся с такой заморочкой: есть функция, оформляющая текст (см. приложение). Как мне отобразить её действие в таблице? ...
Вопрос № 102986: Здравствуйте, уважаемьие! Я искал JSON в rusfaq но ничего не нашлось, поетому спрашивю. У меня противоречивое инфо о синтаксис JSON. Вот, в пример я показал "onmouseover": function(){alert("Hello World");}, которо...

Вопрос № 102.954
Здравствуйте. Столкнулся с такой заморочкой: есть функция, оформляющая текст (см. приложение). Как мне отобразить её действие в таблице?

Приложение:

Отправлен: 22.09.2007, 00:41
Вопрос задал: Кулаченко Антон (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Иоффе Мэир Вэлевич
Здравствуйте, Кулаченко Антон!

Я не совсем понял, что именно вы пытаетесь сделать, но из того, что понял -

Функция создания таблицы:

// rows - кол-во строк в таблице
// cells - кол-во ячеек в каждой строке
// contaierId - ID элемента который будет включать в себя таблицу
function createtable(rows, cells, ContainerId)
{
var container = document.getElementById(ContainerId);
var table = document.createElement('table'); //создали таблицу
var cellCounter = 0; //счётчик ячеек. пригодится для чего-нибудь.
for(var r = 0; r<rows; r++)
{
var row = table.insertRow(r); // создали строку
for(var c = 0; c< cells; c++)
{
var cell = row.insertCell(c); // создали ячейку
cell.id = 'cell' + cellCounter;
cell.innerHTML = 'I'm cell number:' + cellCounter++;
}
}
// а теперь вставляем то, что получилось в container
AppendChild(container,table);
}
// вспомогательная фунция для добавления дочернего элемента
function AppendChild(Obj,Child)
{
if(Child.outerHTML)
{// IE
Obj.innerHTML += Child.outerHTML;
}
else
{// Mozilla FireFox
Obj.appendChild(Child);
}
}

теперь так.. если Вам нужно прикрепить событие на ячейку таблицы, то нужно это делать в функции "createtable" во внутренем цикле (тот, что создаёт ячейки)
делается это вот так (приведу весь цикл. потом просто замените):
for(var c = 0; c< cells; c++)
{
var cell = row.insertCell(c); // создали ячейку
cell.id = 'cell' + cellCounter;
cell.innerHTML = 'I'm cell number:' + cellCounter++;

cell.setAttribute('onclick','alert("you've clicked cell number: ' + cell.id + '")');
}

Это работает и в IE и в FireFox и в Opera 9. проверено неоднократно.
надеюсь это то, что Вам было нужно...

удачи
---------
There are 10 types of people. Those who understand binary and those who don't.
Ответ отправил: Иоффе Мэир Вэлевич (статус: 2-ой класс)
Ответ отправлен: 22.09.2007, 17:39


Вопрос № 102.986
Здравствуйте, уважаемьие!
Я искал JSON в rusfaq но ничего не нашлось, поетому спрашивю.
У меня противоречивое инфо о синтаксис JSON. Вот, в пример я показал
"onmouseover": function(){alert("Hello World");},
котороя вполне отвечает етого сайта:
http://www.braincast.nl/samples/jsoneditor/
но не соответстует етого:
http://www.json.org/

Буду благодарен всех ваших ответов.
(Извиняюс всем, которьим не нравится мой русский язьик, но уверен, что будут радьи, если он популярнее)

Приложение:

Отправлен: 22.09.2007, 11:42
Вопрос задал: Bochvarov NikB (статус: 10-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Errandir
Здравствуйте, Bochvarov NikB!

Так как JSON является форматом обмена данными, он предполагает переносимость информации между программами написанными на разных языках программирования. А функция является не просто информацией. Естественно когда вы передаёте ваш пример в JS он парсит функцию как положено. Однако, если передадите эту строку в программу написанную на другом языке: вы получите ошибку.
---------
Si vox est - canta!
Ответ отправил: Errandir (статус: 5-ый класс)
Ответ отправлен: 22.09.2007, 18:32
Оценка за ответ: 5
Комментарий оценки:
Ето понятно, но я принимаю ответ как увереност, что ето не надо удивлят меня :)


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.60 от 22.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное