Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

click по table

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
msfaq



Зарегистрирован: 11.03.2004
Сообщения: 19

СообщениеДобавлено: Пн Авг 23 2004 20:39    Заголовок сообщения: click по table Ответить с цитатой

На форме есть table. Происходит click по table и вызывается функцмя Java Script. Вопрос - каким образом можно узнать по какой ячейке (даже столбцу 1...n ) был произведен click.

Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Almaz



Зарегистрирован: 13.08.2004
Сообщения: 45

СообщениеДобавлено: Вт Авг 24 2004 02:44    Заголовок сообщения: Ответить с цитатой

Кроме как запихать onClick в каждый <td> в голову пока ничего не приходит. Если генерируешь страницу скриптом, то в принципе проблемы дописать не возникнет.
Получится что-то типа так:
Код:
<html>
<body>
<script>
function cl(a,b)
{
 alert(a+'-'+b);
}
</script>
<table width=40% border=1">
<tr><td onClick="javascript:cl(1,1);">1</td><td onClick="javascript:cl(1,2);">2</td></tr>
<tr><td onClick="javascript:cl(2,1);">3</td><td onClick="javascript:cl(2,2);">4</td></tr>
</table>
</body>
</html>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
msfaq



Зарегистрирован: 11.03.2004
Сообщения: 19

СообщениеДобавлено: Вт Авг 24 2004 09:53    Заголовок сообщения: Ответить с цитатой

хчочется в скриптовой функции которая вызывается на клик по table узнать объект котоорый инициировал событие (tr...td....). Есть ли какой нибудь метод?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гость






СообщениеДобавлено: Вт Авг 24 2004 10:12    Заголовок сообщения: Ответить с цитатой

It is easy. Try this.
<script>
function showCellContent(cell) {
alert(cell.innerHTML);
}
</script>
<table>
<tr>
<td onClick="showCellContent(this)">One</td>
<td onClick="showCellContent(this)">Two</td>
</tr>
</table>
Вернуться к началу
Almaz



Зарегистрирован: 13.08.2004
Сообщения: 45

СообщениеДобавлено: Ср Авг 25 2004 01:52    Заголовок сообщения: Ответить с цитатой

Это конечно все хорошо. Но получается все равно OnClick() в каждый <td> писать, ведь так?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dAnIK SeNT



Зарегистрирован: 11.06.2004
Сообщения: 43
Откуда: Казань

СообщениеДобавлено: Чт Авг 26 2004 14:08    Заголовок сообщения: Ответить с цитатой

Almaz писал(а):
Это конечно все хорошо. Но получается все равно OnClick() в каждый <td> писать, ведь так?

В Навигаторе есть обработчики OnXXXXX - их можно задать для целого контейнера.
Во всех прочих браузерах - только так.
_________________
Cисадмин - образ жизни. Программист - диагноз...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Гость






СообщениеДобавлено: Чт Авг 26 2004 17:15    Заголовок сообщения: IE only solution Ответить с цитатой

In IE only you can do something like this:

<html>
<header>
<script language="JavaScript">
function globalOnClick() {
alert(event.srcElement.innerHTML);
}
</script>
</header>
<body>
<div onClick="globalOnClick()">
<table>
<tr>
<td>One</td>
<td>Two</td>
</tr>
</table>
</div>
</body>
</html>
Вернуться к началу
Гость






СообщениеДобавлено: Чт Авг 26 2004 17:29    Заголовок сообщения: Ответить с цитатой

Here is solution that seems to work in IE 6.X and Mozilla 1.7.X:

<html>
<header>
<script language="JavaScript">
function globalOnClick(evt) {
if (self.event) {
// it is IE
alert(event.srcElement.innerHTML);
} else {
// it is NS
alert(evt.target.innerHTML);
}
}
</script>
</header>
<body onLoad="document.getElementById('tbl').onclick = globalOnClick;">
<table id="tbl">
<tr>
<td>One</td>
<td>Two</td>
</tr>
</table>
</body>
</html>
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...