[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: показать-скрыть div
Xakep
доброго всем времени суток ))

есть такой div:

<div id="MessageBlock" name="LoginBlock">
<table
width="100%" height="100%" border="0" class="MessageTable" cellpadding="0" cellspacing="0">
<tr>
<td
align="left" valign="top" height="5%"><div id="main_kep"> Ошибка авторизации!</div></td>
</tr>
<tr>
<td
align="center" valign="center" height="47%">Вы не ввели логин или пароль!</td>
</tr>
<tr>
<td
align="center" valign="center" height="47%"><input type="button" value="Ок" class="submit" style="width: 20%;" onClick="HideAutchMessage('LoginBlock');"></td>
</tr>
</table>
</div>


и код javascript с функцией:

<script language='JavaScript'>
<!-- hide
function HideAuthMessage(id) {
document.getElementById(id).style.display="none";
}
// -->
</script>


но он почему то не хочет скрывать div ((( просто я чето позабыл как это делаеться я на некоторое время забросил все это дело а щас опять взялся ))) помогите плиз )))




Спустя 3 минуты, 9 секунд (8.04.2010 - 22:13) John_761 написал(а):
Посмотри на id div'a и на тот, что ты передаешь в функцию wink.gif
и еще у тебя лишняя буква c в названии функции в событии onclick

Спустя 51 минута, 29 секунд (8.04.2010 - 23:04) Xakep написал(а):
да чето всеравно нехочет (

js функция такая:

<script language='JavaScript'>
<!-- hide
function ShowAuthMessage(hblock) {
obj = document.getElementById(''+hblock+'');
obj.style.display="";
}

// -->
</script>


div такой:

<div id="MessageBlock">
<table
width="100%" height="100%" border="0" class="MessageTable" cellpadding="0" cellspacing="0">
<tr>
<td
align="left" valign="top" height="5%"><div id="main_kep"> Ошибка авторизации!</div></td>
</tr>
<tr>
<td
align="center" valign="center" height="47%">Вы не ввели логин или пароль!</td>
</tr>
<tr>
<td
align="center" valign="center" height="47%"><input type="button" value="Ок" class="submit" style="width: 20%;"></td>
</tr>
</table>
</div>



и кнопка с событием onClick:

<div id="main_kep">
<input
type="button" name="login" value="Вход" class="submit" onClick="ShowAuthMessage('MessageBlock');">
</div>



изначально в классе MessageBlock стоит display: none;
а при нажатии на кнопку "Войти" display: none должно поменятся и блок MessageBlock должен появится на экране, но не появляется (((( в чем дело? )

Спустя 42 минуты, 30 секунд (8.04.2010 - 23:47) ZSH написал(а):
obj = document.getElementById(''+hblock+'');
а апострофы зачем?
obj = document.getElementById(hblock);

Спустя 19 минут, 48 секунд (9.04.2010 - 00:07) Xakep написал(а):
да какая разница посути..можно и с ними и без них.....ну и без них тоже не работает ((((

Спустя 12 минут, 10 секунд (9.04.2010 - 00:19) John_761 написал(а):
Перед obj var влепи... и используй alert() для отладки
Таки развернул на своем полигоне... biggrin.gif
Вот так все скрывается

<script language='JavaScript'>
<!--
hide
function ShowAuthMessage(id) {
var obj = document.getElementById(id);
obj.style.display="none";
}

// -->
</script>

<div id="MessageBlock">
<table
width="100%" height="100%" border="0" class="MessageTable" cellpadding="0" cellspacing="0">
<tr>
<td
align="left" valign="top" height="5%"><div id="main_kep"> Ошибка авторизации!</div></td>
</tr>
<tr>
<td
align="center" valign="center" height="47%">Вы не ввели логин или пароль!</td>
</tr>
<tr>
<td
align="center" valign="center" height="47%"><input type="button" value="Ок" class="submit" style="width: 20%;"></td>
</tr>
</table>
</div>
<div
id="main_kep">
<input
type="button" name="login" value="Вход" class="submit" onClick="ShowAuthMessage('MessageBlock');">
</div>

Спустя 6 минут, 56 секунд (9.04.2010 - 00:26) ZSH написал(а):
<!-- hide
а вот этот hide не обрабатывается ли случайно JS?

Спустя 1 минута, 14 секунд (9.04.2010 - 00:27) Xakep написал(а):

<script language="JavaScript">
<!-- hide
function ShowAutchMessage(hblock) {
var obj = document.getElementById(hblock);
alert(''+obj+'');
}
// -->
</script>


вывод alert: [object HTMLDivElement]

Спустя 2 минуты, 29 секунд (9.04.2010 - 00:29) Xakep написал(а):
<!-- hide

// -->

нет...эот используеться для того чтобы js код небыл виден в старых браузерах, которые не поддерживают js

Спустя 7 секунд (9.04.2010 - 00:30) John_761 написал(а):
Я имел ввиду просто по коду alert('') ставить, что бы видеть где затыки... если алерт не выводится, значит ошибка в коде где-то выше него, таким макаром ищешь в какой строке ошибка
А выше я отредактировал сообщение, там рабочий вариант

Спустя 5 минут, 53 секунды (9.04.2010 - 00:35) Xakep написал(а):
John_761, да.

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

если в js коде изменить строку obj.style.display="none"; на obj.style.display="";
то уже не работате. вот почему скрыть он скрывает а вот показывать нехочет?

Спустя 1 минута, 58 секунд (9.04.2010 - 00:37) Xakep написал(а):
блин, а может тут уже ajax нужен? или нет? ведь изначально то блоку указан параметр display: none и при загрузке страницы может он просто тупо его не грузит?

Спустя 2 минуты, 29 секунд (9.04.2010 - 00:40) ZSH написал(а):
попробуй прописать принудительно класс или стиль диву с каким нибуть значением display

Спустя 3 минуты, 29 секунд (9.04.2010 - 00:43) John_761 написал(а):
Нет, AJAX не нужен... и все грузится
Меняю на obj.style.display=""; все работает
А какой браузер у тебя?
Наверняка какой-нибудь IE 6 ?

Вот функция, скрывает и открывает
function ShowAuthMessage(id) 
{
var obj = document.getElementById(id);

if (obj.style.display == 'none')
obj.style.display = "block";
else
obj.style.display = "none";

}

Спустя 8 минут, 26 секунд (9.04.2010 - 00:52) Xakep написал(а):
у меня Opera 10.10...
щас попробую....

Спустя 4 минуты, 27 секунд (9.04.2010 - 00:56) Xakep написал(а):
все ок John_761

большое спасибо ))))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.