|
|
|
| Народ, выручайте, а то я что-то совсем туплю: есть некое валуе в конце хтмл-кода,
и некий скрипт, который хочетт знать эту валую - в начале кода - примерно так:
--------------- начало хтмл -------------
всякое бла-бла-бла
<script> ttt = document.getElementById('jjj'); alert(ttt.value); </script>
еще бла-бла-бла
<input id=jjj name=qwe type=hidden value="<=$_POST[Id]>">
-----------конец хтмл----------------------
Эксплорер говорит, что "требуется об'ект"... Где я не прав?
Если скрипт ставлю после инпута, то все работает, но надо ДО! | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 19:12)
| |
. . .
<script type="text/javascript">
<!--
function ClkAlr() {
var ttt = document.getElementById("jjj").value;
alert(ttt);
}
// -->
</script>
. . .
<input id="jjj" name="qwe" type="hidden" value="<?echo $_POST['inpID'];?>" />
<input type="button" onclick="ClkAlr()" value="Click Me" />
|
теоретически - должно работать, если яваскрипт сможет обратится к значению скрытого поля
а вообще, неплохо бы было следить за кавычками в коде после знаков равно и др. тогда было бы меньше незаметных ошибок | |
|
|
|
|
|
|
|
для: retsoul
(06.02.2007 в 19:36)
| | Да не, я по-всякому пробовал.. не в кавычках дело.. :(
И твой вариант попробовал - н епашет.
Скрипт после инпута - все работает. Ттупо Ctrl+X --> Ctrl+V его
перед инпутом - "требуется об'ект" ;(((
Иля так и должно? Но вроде бы гетЭлемент ищет по всему
документу независимо?.. | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 19:48)
| |
...
<input type="button" onclick="ClkAlr(); return false;" value="Click Me" />
|
| |
|
|
|
|
|
|
|
для: Lelik
(06.02.2007 в 19:51)
| | Сори, я наверное, неправильно об'яснил. Мне надо не стоко Алерт сделать,
скока забрать значение и на основе его предпринять какие-то действия,
а алерт - это для примера. И вопрос - не "ак сделать", а что "не понимаю"...
гетЕлементБайИд ведь должен проглядывать весь документ, и возвращать
об'ект - так почему он этого не делает?!!!
ЗЫ. Да, ав твоем примере все работает, но надо другое :( | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 20:12)
| | как и куда тебе его забрать надо?
алерт выводит значение этого элемента, оно как раз и хранится в переменной 'ttt'
бери его и работай с ним
---
"ты скажи, ты скажи, чё те надо, чё надо?"(с) :) | |
|
|
|
|
|
|
|
для: retsoul
(06.02.2007 в 20:15)
| | =) Короче. значение (валуе) инпута с ид="jjj" играет роль как бы
мегаглобальной (сессионной) переменной, которая передается
"постом" со странички на страничку, и, исходя из ее значения
скрипт, начинающий работать в самом начале странички должен
совершить какие-то действия, присвоить значения чекбоксам и т.п.
Вопрос же крайне прост : почему getElemenById('jjj') не может взять
значение (валуе) инпута после себя по коду, а может только ДО... | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 20:28)
| | дело в том, что яваскрипт предназначен для клиентской стороны, а не для серверной, если необходимо передавать значение от одной странице к другой, тогда это делается методом GET
и название страницы в командной строке браузера приобретает следующий вид:
http://www.softtime.ru/forum/answer.php?id_forum=4&id_theme=123123123&id_post=123123123132
и тут скрипту передаются 3 переменные $id_forum, $id_theme и $id_post
а яваскрипт не предназначен для отслеживания конкретной переменной, ещё для этого не обязательно постоянно передавать эту переменную в скрытом поле, можно сразу вписывать адрес с переменной в ссылку или использовать кукисы или наконец просто хранить переменную в сессии | |
|
|
|
|
|
|
|
для: retsoul
(06.02.2007 в 20:37)
| | Ну дык мы, комсомольцы, трудности любим преодолевать.. %)
Нужно непременно постом, и непрепенно Яво-скриптом...
Изврат, конечно, но работает. (на соседних страничках).
Кажется какой-то просвет вырисовывается, сори, что побеспокоил.
Оказалось, что он превосходно работает по событию
(онклик, онлоад, etc.), а вот в конструкции вида <script> ... </script>
какие-то затыки.. Как буд-то включенный в событие он умет
видеть глобалы, а так - нет. Почему так - я не понимаю... Видимо,
надо глубже знать Явоскрип.Если кто сможет доходчиво внести
ясность - плиз..
Всем, кто поучаствовал - спасибо!.. =) | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 20:49)
| | Используйте onload | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 20:49)
| | >Кажется какой-то просвет вырисовывается, сори, что побеспокоил.
>Оказалось, что он превосходно работает по событию
>(онклик, онлоад, etc.), а вот в конструкции вида <script> ... </script>
>какие-то затыки.. Как буд-то включенный в событие он умет
>видеть глобалы, а так - нет. Почему так - я не понимаю... Видимо,
>надо глубже знать Явоскрип.Если кто сможет доходчиво внести
>ясность - плиз..
Как я понимаю, браузер построчно (побайтово) грузит документ и сразу пытается выполнить (не дожидаясь полной загрузки) поэтому при встречи обращения к какому-либо объекту (не в функции) он сразу пытается выполнить, и, не найдя среди уже загруженного, нужного объекта, ругается...
Надеюсь, понятно объяснил. | |
|
|
|
|
|
|
|
для: victoor
(06.02.2007 в 21:21)
| | Эээ.. Именно так? В принципе, да, похоже оно и есть.
Как-то мне казалось, что java-машина должна все скрипты
внутри документа перепарсить/скомпилить.. Но, с другой
стороны, это ж таки скрипт, а не С#. :) Спасибо, буду
теперь и далее придерживаться этой гипотезы.
Вобщем, надо "учить мат-часть"... | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 21:41)
| | javascript имеет отношение к java только общей частью в названии, да си-подобным синтаксисом написания кода | |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 21:41)
| | Это не гипотеза, а так и есть. Если хотите выполнить скрипт по загрузке всего документа (с картинками), есть событие onload.
(Если нет желания ждать полной загрузки, выполняйте скрипт с периодической проверкой существования объекта:
ww=setInterval("if(document.getElementById('...')){выполнить и отменить интервал,clearInterval(ww);}",300);
|
| |
|
|
|
|
|
|
|
для: newbies
(06.02.2007 в 19:48)
| | попробовал, всё работает, даже без добавления return false;, работает в фф, опере и макстоне | |
|
|
|