imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 19.10.2010, 12:52     # 1
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
Объясните странность в работе JavaScript

Наткнулся сегодня на такое вот загадочное поведение кода:
Код:
<script type="text/javascript" language="JavaScript">
    function requestUserName(inp, outp, state) {
            state.innerText = "123 " + inp.value;
            outp.innerText = "QWE "  + inp.value;
    }
</script>

<body>
    <form>
        <input type="text" id="user_id"/>&nbsp;<input type="button" onclick="requestUserName(user_id, user_name, state);" value="Go"/>
        <hr/>
        <code>
        <div id="user_name"/>
        </code>
        <hr/>
        <code>
        <div id="state"/>
        </code>
        <hr/>
    </form>
</body>
Этот код отрабатывает только один раз, да и то криво (теряет один div) - потом валится с ошибкой.

Но, если заменить деларацию div на
Код:
<div id="user_name"></div>
...
<div id="state"></div>
все работает замечательно.

Вопрос, собственно - почему? Разве короткая форма тэга не равна полной пустой? Всю жизнь был уверен, что запись
Код:
<div id="user_name"></div>
полностью эквивалентна
Код:
<div id="user_name"/>
Может кто-то просветить на этот счет?
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 19.10.2010, 13:22     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
"потом валится с ошибкой" - текст ошибки секретный?
RaZEr вне форума  
Старый 19.10.2010, 13:38     # 3
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
да я специально привел полный код (благо, он короткий), чтоб можно было посмотреть вживую

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

при втором - пишет 'state' is undefined

добавлено через 1 минуту
браузер - IE 6, забыл указать
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 19.10.2010, 14:36     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
У старого ослика (да и у нового) есть известная проблема с односложными тегами, например он скрипты не загружает если объявлены как <script src="" />

В остальном, к элементам нужно обращаться через document.getElementById, а вместо innerText использовать innerHTML.
RaZEr вне форума  
Старый 19.10.2010, 15:06     # 5
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
Цитата:
Сообщение от RaZEr Посмотреть сообщение
У старого ослика (да и у нового) есть известная проблема с односложными тегами, например он скрипты не загружает если объявлены как <script src="" />
учту, не знал
даже нигде не наталкивался на упоминание о такой особенности
Цитата:
В остальном, к элементам нужно обращаться через document.getElementById, а вместо innerText использовать innerHTML.
это я в курсе; просто корпоративный стандарт - именно IE, поэтому можно не заморачиваться кросс-браузерностью
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 20.10.2010, 20:08     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
А какой DOCTYPE документа? На сколько я понимаю вариант без закрывающего тега правильно работает гарантированно только в xhtml, о чем кстати валидатор W3C честно сыпет варнингами, на сколько я помню.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:24.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.