|
JavaScript / HTML Создание динамической разметки страниц |
27.10.2010, 09:36
|
#1
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
ОСЕЛ!!! Господа, прошу помощи...
Как то я все писал сайт под оперу, не задумываясь, черт возьми, о существовании Осла, и о его неправильном представлении о коде...
В общем, такая бага:
Пишу в JS - функции:
label = $("#filelabel")[0]
Ругается, говорит что "Предполагается наличие объекта"
Пробовал так:
label=document.getElementById("filelabel") - то же самое.
Пробовал даже так(!) :
label = document.all.filelabel[0] - хрена с два, label==undefined
Пробовал по массиву document.all.filelabel пробежаться , везде null && undefined
Вот сам виновник глюков:
echo("
<table>
<tr><td>Метка для поиска:</td><td><input name=\"filelabel\" type=text id=filelabel size=40></td></tr>
<tr><td>Путь к файлу:</td><td><input name=\"filepath\" type=file id=filepath size=40></td></tr>
</table>");
PS: вчера до ночи гуглил, нигде ничего нет, или document.all всех спасает, а у меня нет
PSPS: Кавычки "" для id не помогают, посему убраны
|
(Offline)
|
|
27.10.2010, 12:15
|
#2
|
Знающий
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений (для 257 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Итак, по порядку:
1. Значения атрибутов ВСЕГДА берутся в кавычки, такого говна - type=text - быть не должно. Должно быть type="text" и т.д.
2. Чтобы не ставить экраны перед двойными кавычками, возьми свой html внутри echo в одинарные
3. $("#filelabel")[0] - это что вообще? Доступ через $() будет работать только с подключённой jQuery или Prototype. ЭТО НЕ МАССИВ! Ты пытаешься забрать объект по ID, более одного объекта с таким ID быть не может! Потому просто $("#filelabel")
4. document.getElementById("filelabel") - это должно работать.
Теперь вопрос:
Ты часом не пытаешься получить объект ДО его создания?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.10.2010, 13:45
|
#3
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Ну вообще $("#filelabel")[0] на джиквери возвратит элемент DOM. (как альтернатива .get(0))
И да, автор, дай уже ссылку на сайт непосредственно, эмулировать DOM и JS в мозгу довольно сложно.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
27.10.2010, 19:12
|
#4
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
$("#filelabel") - ты используешь "#" - значит пытаешься получить объект по ID.
getElementById - функция получает эллемент по ID.
А у тебя <input> имеет Name, а не ID.
|
(Offline)
|
|
27.10.2010, 19:37
|
#5
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
У него id такой же (только он кавычки убрал зачем-то)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
27.10.2010, 19:41
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Сообщение от ABTOMAT
У него id такой же (только он кавычки убрал зачем-то)
|
А точн, поэтому и не заметил
И чё это: \" ?
|
(Offline)
|
|
27.10.2010, 20:00
|
#7
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Сообщение от MoKa
А точн, поэтому и не заметил
И чё это: \" ?
|
Он привел кусок РНР кода, в котором он html зачем-то через echo выводит.
__________________
|
(Offline)
|
|
27.10.2010, 20:00
|
#8
|
Знающий
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений (для 257 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Сообщение от MoKa
И чё это: \" ?
|
Экранирование
|
(Offline)
|
|
27.10.2010, 20:06
|
#9
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
А, угу, вижу, спасиб.
ЗЫ, всегда использую одинарную ковычку в php и двойную в html'е =)
|
(Offline)
|
|
27.10.2010, 20:54
|
#10
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Сообщение от MoKa
А, угу, вижу, спасиб.
ЗЫ, всегда использую одинарную ковычку в php и двойную в html'е =)
|
Двойные удобны тем, что можно переменные указывать прямо в строке. С одинарными приходится использовать конкатенацию строк.
__________________
|
(Offline)
|
|
27.10.2010, 20:58
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Сообщение от .Squid
Двойные удобны тем, что можно переменные указывать прямо в строке. С одинарными приходится использовать конкатенацию строк.
|
Этого тоже не знал, но всегда использовал намеренно конкатенацию строк т.к. это в разы улучшает читабельность логики, нежели использование переменных в самих строках.
ЗЫ, у меня NetBeans не подсвечивает "встрочные" переменные...
|
(Offline)
|
|
27.10.2010, 21:46
|
#12
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Товарищи, Жыквери подключена, уж я не дурак.
$("#id") - возвражает МАССИВ, в нем запиханы ВСЕ найденные эдементы по id="id"
И дело, по - моему, не в двойных кавычках (ибо пробовал с ними и без них), а в том что JS не находит именно на осле элемент по ID. Надо бы поискать что-нить, да вот инет упал последнее время выше 1 КБ\с не поднимается
|
(Offline)
|
|
27.10.2010, 21:50
|
#13
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
А вот и не массив, а объект. Впрочем, он так сделан, что к нему можно обращаться в том числе и как к массиву.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
28.10.2010, 00:01
|
#14
|
Знающий
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений (для 257 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Сообщение от Павел
$("#id") - возвражает МАССИВ, в нем запиханы ВСЕ найденные эдементы по id="id"
|
Был бы верующим, перекрестился бы. Если ты сделаешь БОЛЬШЕ ОДНОГО элемента с ОДИНАКОВЫМ id - это будет баг и ты никогда не вытянешь все элементы с таким id. Точно не помню, но либо первый, либо последний по порядку их инициализации. Это name, class и прочие могут сколько угодно повторяться.
Дай ссыль на код. Так не разгребём.
|
(Offline)
|
|
28.10.2010, 13:54
|
#15
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: ОСЕЛ!!! Господа, прошу помощи...
Сообщение от Павел
Товарищи, Жыквери подключена, уж я не дурак.
$("#id") - возвражает МАССИВ, в нем запиханы ВСЕ найденные эдементы по id="id"
И дело, по - моему, не в двойных кавычках (ибо пробовал с ними и без них), а в том что JS не находит именно на осле элемент по ID. Надо бы поискать что-нить, да вот инет упал последнее время выше 1 КБ\с не поднимается
|
Дык, ты поправил свой хмтл код??? Или нет?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:32.
|