Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Глючит document.getElementById (https://javascript.ru/forum/dom-window/21402-glyuchit-document-getelementbyid.html)

developer_ 08.09.2011 01:34

Глючит document.getElementById
 
Есть функция которая вызывается при отправки формы:
function wait_view_routine() {
    document.getElementById("wait_view").style.visibility = "visible"; //Показываем загрузку
    document.getElementById("body_main").style.visibility = "hidden"; //Скрываем результат    
}


А вот кусочек html:
<div id="body_main">
        @RenderBody()                 
    </div>
    <br/>
    <div id="wait_view">
        Wait... 
    </div>

Смысл в том, что бы при отправки скрывать body_main и показывать wait. Так вот, когда страница открывается в первый раз - всё срабатывает так как надо. По алгоритму нам возвращается таже самая страница, но с дополнением. И если уже сейчас отправить форму, то вот это:
document.getElementById("wait_view").style.visibility = "visible";

не срабатывает.
Смотрел в fairbag, так вот когда доходит до этой строчки - функция вылетает.

Gvozd 08.09.2011 01:47

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

developer_ 08.09.2011 11:35

Вы меня неправильно поняли.
Схема такая - страница аля google, с вводом. Вводим данные - отправляем форму. Получаем ответ. Таже самая страница, только с присобаченым ответом снизу.
Понимаю - что весьма туманная ошибка, но возможно она известна потому и запостил. Если мне попался эксклюзив, буду копать дальше.

Gvozd 08.09.2011 12:57

Цитата:

Сообщение от developer_
Смотрел в fairbag, так вот когда доходит до этой строчки - функция вылетает.

ну, так посмотрите как она "вылетает", с какой ошибкой

developer_ 08.09.2011 17:47

В том то и дело - ошибки не вылетает. Я обсмотрел всё окно fairbag. Я новичок, поэтому точно не знаю где должны быть ошибки. Более того поведение очень странное.
Вот это срабатывает:
document.getElementById("body_main").style.visibil ity = "hidden";
а вот это нет:
document.getElementById("wait_view").style.visibil ity = "visible";
Но при этом вылетает из функции (я хожу по шагам) при выполнение этих команд, не важно какая первая, но вылетает всегда на первой. И самое странное - "hidden" срабатывает, а "visible"-нет, и тоже не важно в какой последовательности идут команды.

Snipe 08.09.2011 17:57

document.getElementById("wait_view").style.visibil ity = "visible";

Это у вас только тут пробел или в коде тоже есть? Я про "visibil ity".

Нужно больше подробностей...

developer_ 08.09.2011 23:37

Пробел этот сайт вставляет. Видимо для защиты.

Gvozd 09.09.2011 01:00

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

developer_ 09.09.2011 22:29

Разобрался.
Оказывается всё работает. Просто скрываемая облась выходила за пределы экрана, а я пользовался visibility который не освобождает место. Перешол на display и всё стало на свои места.
Но странное поведение в fairbag - вылет из функции, для меня осталось загадкой.


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