![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
Когда в форме присутствует элемент с именем action, я не могу в скрипте получить значение свойства action тега form. То есть данная конструкция
document.forms(0).action адресует элемент, а не свойство. Как можно в данном случае получить тот action, который именно свойство |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
по ID выбирай.
|
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
К сожалению, ID у элемента нет. Я не имею возможности менять HTML:(
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
А что есть? name? И как это, скрипт меняешь, а ХТМЛ - нет?
Вот ещё вариант:
|
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
Есть номер формы и имя, если оно указано.
Почему так, рассказывать долго. Вкратце я из java пытаюсь взаимодействовать с формой, имея метод executeScript(String scr). Сейчас попробую ваш способ, заранее спасибо Добавлено @ 18:48 Не получается. Пробую алертом,
Выдает [object], а если добавить .value, то значение элемента с именем action Какие еще будут варианты? Добавлено @ 18:50 Может быть есть что-то вроде массива свойств тега, по которому можно пробежаться в поисках action? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Хмм.. а если пробежаться?
|
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
Один раз выскочило "[object]". Не катит
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Это всё оченэ странно... Дайте ХТМЛ, если не жалко
|
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
Добавлено @ 20:20 Вот я вырезал саму форму и таблицу, ее содержащую для красоты. Пожалуйста, хотя можете написать простейшую форму с одним элементом, которое будет иметь имя action:) Добавлено @ 20:22 P.S. Это единственная форма в документе. Адресую я ее по номеру (0), т.к. имени она не имеет |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
sergej.z через item(0) ты достаёшь первый элемент формы, а нужен аттрибут.
К сожалению эта фишка ещё от нетскейпа пошла, что бы обойти засорение пространства имён и были введены коллекции elements, options и т.д. По моему есть один выход, не называть элементы именами action, submit и т.д. Меньше гимора. Также можно опрашивать form.getAttribute('action') должен вернуть именно аттрибут. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
Не возвращает ничего.
Прийдется мне похоже парсить исходный хтмл и доставать оттуда action:( |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Xорошо бы при таких утверждениях код свой выкладывать, впрочем забивать гвозди ладошками никто не запрещал ИЕ тупит на getAttribute, возращая SELECT элемент. Это нормально для него, он часто тупит по стандартам. НО! до введения getAttribute народ почуял глупость подхода с аттрибутами и элементами, потому были сделанны две коллекции: atributes - содержит все аттрибуты и elements - содержит все дочерние элементы формы. Таким образом даём форме id='test', затем: alert(document.getElementById('test').attributes.item('action').value); и получаем значение action. Помним что ИЕ опять тупит, ИЕ 5.5+ возвращает из attributes обьект, в то время как ИЕ 5.0- возвращает значение аттрибута. Соотвественно для "новых" ИЕ нужно опрашивать value у обьекта, для старых value будет давать undefined, что нужно учесть. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
Извиняюсь за неконкретный ответ, но form.getAttribute('action') возвращало объект. Какой именно я узнать не мог, т.к. не знаю как. Но я ожидал строку (всмысле автор того поста ожидал), поэтому я отбраковал этот путь.
Спасибо! Сейчас все получилось. Интересно было бы узнать, что возвратит в данном случае Mozilla. И не могли бы вы привести небольшой скриптик, как в зависимости от браузера запрашивать значение action. Я пишу на java, с javascript'ом знаком совсем мало. Хоть синтаксис чем-то и похож, тем не менее языки абсолютно разные. Можно конечно изучить, но проблема с action'a всего лишь 1/10000 всего проекта, и я не могу себе позволить тратить на это много времени. Поэтому и обратился на форум |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Под мозиллой и под ИЕ так работает: alert(document.getElementById('test').attributes['action'].value);
При вызове item мозилла возвращает значение id аттрибута... Опера тоже должна работать правильно, attributes это коллекция из DOM 1 по моему. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Сардар, а разве у метода item() аргумент не числовой только? Строковый тоже может быть? Это сообщение отредактировал(а) Aliance - 9.11.2005, 20:13 |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |