Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не работает GetItemByName

286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Доброго времени суток!

Имеется скрипт:
[html]
<script TYPE="text/javascript">
function viuw_visible(){document.location.href = "FL_ARCH.DYN_FORM_EVENT_VISIBLE.show?p_arg_names=p_id&p_arg_values="+document.forms[0].GetItemByName("FORM_FLIGHT.DEFAULT.ID.01").value;}
</script>
<a href="java script:viuw_visible()">Параметры видимости</a>[/html]

И при переходе по ссылке происходит ошибка "document.forms[0].GetItemByName is not a function" (в Мозиле).


Подскажите почему так происходит и как мне обойти эту ошибку?

Сзаранее спасибо!
92
06 сентября 2007 года
Тень Пса
2.2K / / 19.10.2006
лучше использовать getElementById(); и раздать id-шники элементам...
286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Тень Пса
лучше использовать getElementById(); и раздать id-шники элементам...



Нужно именно по имени....

15
06 сентября 2007 года
shaelf
2.7K / / 04.05.2005
Обращения к элементам по имени устарели и не рекомендованы к использованию.
92
06 сентября 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: misha_turist
Нужно именно по имени....


если тебе уж конеретно приспичило (понять, правда, не могу зачем), то юзай document.all, в чем проблема-то? :)

[COLOR=Red]но! [COLOR=Black]shaelf прав, так что лучше переделывай на id-шники :)[/COLOR][/COLOR]

286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: shaelf
Обращения к элементам по имени устарели и не рекомендованы к использованию.



А как быть? Дело в том, что имя поля формы "FORM_FLIGHT.DEFAULT.ID.01", соответственно использовать его как нормальное имя нельзя, и по номеру нельзя т.к. могут поля добавляться, убераться, меняться местами и т.д., и менять имя нелзя, т.к. оно автоматически генерируется...

92
06 сентября 2007 года
Тень Пса
2.2K / / 19.10.2006
автоматически генерировать ID или использовать как ID тоже самое имя поля, и спокойно юзать getElementById

местоположение элемента в документе не имеет значения для getElementById (ну конечно если id уникальный, что должно быть по умолчанию...)
286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Тень Пса
понять, правда, не могу зачем


Что бы обойти недостаток ORACLE PORTAL.

Цитата: Тень Пса
в чем проблема-то? :)


В том, что не работает.... либо "ошибка на странице", либо ни чего....

286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Тень Пса
автоматически генерировать ID или использовать как ID тоже самое имя поля, и спокойно юзать getElementById


Я НЕ могу менять названия полей и форм.... т.к. их мастер делает... и не только их, но и обработку на сервере..
Более того - данная конструкция это "левой рукой, через правое ухо, до левой пятки".... но она нужна в том или ином виде...

p.s. Ты думаеш я "forms[0]" просто так написал... имя формы автоматически генерируется...

92
06 сентября 2007 года
Тень Пса
2.2K / / 19.10.2006
ну а добавить ты можешь? в HTML генерируемый, что-нибудь?
286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Тень Пса
ну а добавить ты можешь? в HTML генерируемый, что-нибудь?


могу, как я по твойму этот код вношу, но изменять поля не могу...
[html]<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD><#ID#></TD></TR><TR><TD><#FLIGHT.LABEL#></TD><TD><#FLIGHT.ITEM#></TD></TR><TR><TD><#TYPE.LABEL#></TD><TD><#TYPE.ITEM#></TD></TR><TR><TD><#DATE_TIME.LABEL#></TD><TD><#DATE_TIME.ITEM#></TD></TR><TR><TD><#NUMBER_EVENT.LABEL#></TD><TD><#NUMBER_EVENT.ITEM#></TD></TR><TR><TD><#NAME.LABEL#></TD><TD><#NAME.ITEM#></TD></TR><TR><TD><#CREW.LABEL#></TD><TD><#CREW.ITEM#></TD></TR><TR><TD><#CREW_NAME.LABEL#></TD><TD><#CREW_NAME.ITEM#></TD></TR><TR><TD><#SETING_ORBIT.LABEL#></TD><TD><#SETING_ORBIT.ITEM#></TD></TR><TR><TD><#NAME_SETING_ORBIT.LABEL#></TD><TD><#NAME_SETING_ORBIT.ITEM#></TD></TR><TR><TD><#TYPE_VISIBLE_SO.LABEL#></TD><TD><#TYPE_VISIBLE_SO.ITEM#></TD></TR><TR><TD><#MAN_RAP_NAME.LABEL#></TD><TD><#MAN_RAP_NAME.ITEM#></TD></TR><TR><TD><#DATE_TIME_VISIBLE.LABEL#></TD><TD><#DATE_TIME_VISIBLE.ITEM#></TD></TR><TR><TD><#B_TEXT.LABEL#></TD><TD><#B_TEXT.ITEM#></TD></TR><TR><TD><#VISIBLE#></TD><TD>
<script TYPE="text/javascript">
function viuw_visible(){document.location.href = "FL_ARCH.DYN_FORM_EVENT_VISIBLE.show?p_arg_names=p_id&p_arg_values="+document.forms[0].GetItemByName("FORM_EVENTS.DEFAULT.ID.01").value;}
</script>
<a href="java script:viuw_visible()">Параметры видимости</a></TD></TR></TABLE></TD></TR><TR><TD>
[/html]

вот так всё это выгледит при конструировании...

А имена полей и форм я узнал потём "браузер -> посмотреть html код".)

92
06 сентября 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: misha_turist
могу, как я по твойму этот код вношу, но изменять поля не могу...



ну тогда хз, document.all попробуй. а то у тебя всё через метод. которого в мозилле точно нет )

286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Тень Пса
ну тогда хз, document.all попробуй. а то у тебя всё через метод. которого в мозилле точно нет )



гадко... :-(

15
06 сентября 2007 года
shaelf
2.7K / / 04.05.2005
docement.formName.rowName Так по идее должен добраться
286
06 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: shaelf
docement.formName.rowName Так по идее должен добраться



При всём уважении.... имя поля "FORM_EVENTS.DEFAULT.ID.01", ну и о каком "docement.formName.rowName" может идти реч....

15
06 сентября 2007 года
shaelf
2.7K / / 04.05.2005
Маленько опечатался. document*. А свои значения сложно подставить?
353
06 сентября 2007 года
Nixus
840 / / 04.01.2007
 
Код:
document.forms[0]["FORM_EVENTS.DEFAULT.ID.01"]

А так?
7.9K
06 сентября 2007 года
vasa_c
191 / / 05.04.2007
Цитата:
docement.formName.rowName Так по идее должен добраться


Не должна.

getElementsByName() &#8212; кросбраузерное получение коллекции элементов по имени.

7.8K
06 сентября 2007 года
Tingo
201 / / 17.05.2007
2Тень Пса, если речь о Мозилле как о ФайрМохе, то последний не согласен с document.all

По теме:
Может шагать по DOM-у и читать атрибуты?
92
07 сентября 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Tingo
2Тень Пса, если речь о Мозилле как о ФайрМохе, то последний не согласен с document.all

По теме:
Может шагать по DOM-у и читать атрибуты?


ну не знаю не знаю =) работал именно таким методом старый темплейт написаный до меня, но с именем элемента Blah1.Blah2.Blah3 точно не сканает... я лично предпочитаю использовать getElementById, но в этом случае не подошло.

а вот как всегда пришёл vasa_c и всё разрулил ;) +1, должно сканать.

286
07 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Nixus
 
Код:
document.forms[0]["FORM_EVENTS.DEFAULT.ID.01"]

А так?


:):) Спасибо друг - ты меня прям спас!!!!!!! Респект тебе и УВАЖЕНИЕ:D


И ещё один вопрос :o : если я пишу обработчик события и хочу текст обработчика не выделять в отдельную процедуру (т.е. "onclick="java script:send();"", но что бы в нём была не ссылка на функцию, а текст функции), то как мне это сделать?

353
07 сентября 2007 года
Nixus
840 / / 04.01.2007
Если правильно понял:

 
Код:
<a href="#" &#111;&#110;click="alert('Нажми еше раз!');return false;">Нажми меня</a>
286
07 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: Nixus
Если правильно понял:

 
Код:
<a href="#" &#111;&#110;click="alert('Нажми еше раз!');return false;">Нажми меня</a>



Да, мне именно это и нужно, СПАСИБО!

12
08 сентября 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: misha_turist
могу, как я по твойму этот код вношу, но изменять поля не могу...



РЫБЯТЫ!!!!!!!!, а понаписали то, понаписали....

А все ведь просто решается. У автора имена полей типизированые "FORM_FLIGHT.DEFAULT.ID.01", т.е. имеет шаблон имени. Через DOM пробегаем рекурсивно все дерево, ищем этот шаблон и делает необходимые действия.

Метод 2. document.forms. Получаем из DOM список всех форм в документе, далее через DOM же работаем с потомками. Причем данный подход вполне хорош ибо используется DOM Level2.

Есть и 3 метод, но второго за глаза.

12
08 сентября 2007 года
alekciy
3.0K / / 13.12.2005
[HTML]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<body>
<form action="a.a" method="post" name="форма 1">
<input type="text" name="текст" />
</form>

<p>
<form action="b.b" method="post" name="форма 2">
<input type="text" name="text" />
</form>
</p>

<input type="button" value="формочки" onclick="foo()" />

<script language="javascript" type="text/javascript">
function foo(){

var amount_forms = document.forms.length;
alert('Формочек в дакументу у нас '+amount_forms+' штучек');
for (var i = 0; i < amount_forms; i++)
{
var form = document.forms.item(i);
var arr_element_form = form.elements;
alert('Имя формы: '+form.name);
for (var j = 0; j < arr_element_form.length; j++)
{
var element_form = arr_element_form.item(j);
alert('Имя элемента формы: '+element_form.name);
alert('Значение элемента формы: '+element_form.value);

};
};
}

</script>
</body>

</html>

[/HTML]
12
08 сентября 2007 года
alekciy
3.0K / / 13.12.2005
Гыыы... а вторую страницу я не узрил.... ну да ладно. Потренился :D .
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог