Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2011, 10:33
Новичок на форуме
Отправить личное сообщение для Rol1k Посмотреть профиль Найти все сообщения от Rol1k
 
Регистрация: 18.11.2009
Сообщений: 6

Динамическое изменение пути до элемента формы
Привет коллеги! Всех с наступившим НОВЫМ ГОДОМ!

Резко переходим к делу.
Разберём простенький пример...

Как из этого
document.form.email.value

динамически получить следующее
document.form.password.value
Ответить с цитированием
  #2 (permalink)  
Старый 02.01.2011, 12:30
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Rol1k
Резко переходим к делу.
Разберём простенький пример...

Как из этого
document.form.email.value

динамически получить следующее
document.form.password.value
или изменить элемент через innerhtml.
или сделать два элемента на одном месте. скрывать один и открывать другой
и обращаться с необход свойствам его
элементы разные свойства разные

Последний раз редактировалось dmitriymar, 02.01.2011 в 12:34.
Ответить с цитированием
  #3 (permalink)  
Старый 02.01.2011, 13:05
Новичок на форуме
Отправить личное сообщение для Rol1k Посмотреть профиль Найти все сообщения от Rol1k
 
Регистрация: 18.11.2009
Сообщений: 6

Не не не не...

1) Дабы не писать много кода требуется изменить именно динамически.
2) Есть функция check(option)
3) В качестве option можно передать или email или password
4) Если путь к полю имеет тип string, то можно реализовать идею так
function check(option)
{
   var str = 'document.form.$.value'; //тип string
   str = str.replace(/[$]+/, option); //если option == 'email', то str =  document.form.email.value
}

Вроде реализовано динамически, но при типе пути string сценарий не сможет получить значение поля.
Поэтому такой вариант не приемлем...

Нужны выши идеи.

Последний раз редактировалось Rol1k, 02.01.2011 в 17:15.
Ответить с цитированием
  #4 (permalink)  
Старый 02.01.2011, 16:37
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

Если я правильно понял:
document.form[condition?'email':'password'].value
Ответить с цитированием
  #5 (permalink)  
Старый 02.01.2011, 22:30
Новичок на форуме
Отправить личное сообщение для Rol1k Посмотреть профиль Найти все сообщения от Rol1k
 
Регистрация: 18.11.2009
Сообщений: 6

Ну почти...

Поясню ещё разок.

В функцию прилетает либо email, либо password и присваевается переменной option

Далее требуется из
document.form.$.value
получить либо
document.form.email.value
либо
document.form.password.value
в зависимости от того, что содержится в option



Мне не понятна Ваша запись
document.form[condition?'email':'password'].value
Что у Вас содержится в condition, и почему перед [ нет точки?
Ответить с цитированием
  #6 (permalink)  
Старый 02.01.2011, 22:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

Сообщение от Rol1k Посмотреть сообщение
Ну почти...

Поясню ещё разок.

В функцию прилетает либо email, либо password и присваевается переменной option

Далее требуется из
document.form.$.value
получить либо
document.form.email.value
либо
document.form.password.value
в зависимости от того, что содержится в option
$='email';
document.form[$].value

Сообщение от Rol1k Посмотреть сообщение
Мне не понятна Ваша запись
document.form[condition?'email':'password'].value
Условный оператор
Сообщение от Rol1k Посмотреть сообщение
Что у Вас содержится в condition,
В "condition" вестимо "условие".

Сообщение от Rol1k Посмотреть сообщение
и почему перед [ нет точки?
Учите матчасть.
a={b:10} 
alert(a['b']==a.b)

Последний раз редактировалось Aetae, 02.01.2011 в 22:48.
Ответить с цитированием
  #7 (permalink)  
Старый 03.01.2011, 12:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Rol1k
В функцию прилетает либо email, либо password и присваевается переменной option
Чем так "объяснять", давно пора сделать тестовый пример, на котором все и покажут...
Ответить с цитированием
  #8 (permalink)  
Старый 03.01.2011, 14:47
Новичок на форуме
Отправить личное сообщение для alex_oo7 Посмотреть профиль Найти все сообщения от alex_oo7
 
Регистрация: 20.10.2010
Сообщений: 8

Как я понял тут обычная "если" проверка подойдёт
function check(option)
{

if (option =="email")
{var str = 'document.form.email.value';}
else
{var str = 'document.form.password.value';}
   
}


Или может это сойдёт.....
function check(option)
{
var str = "document.form."+option+".value";
}

Последний раз редактировалось alex_oo7, 03.01.2011 в 14:55.
Ответить с цитированием
  #9 (permalink)  
Старый 03.01.2011, 17:11
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

alex_oo7, с тем же успехом можно предложить и вот такой вариант...

function Check(Name) {
   var str = document.getElementsByName(Name)[0].value
}
Ответить с цитированием
  #10 (permalink)  
Старый 07.01.2011, 11:30
Новичок на форуме
Отправить личное сообщение для Rol1k Посмотреть профиль Найти все сообщения от Rol1k
 
Регистрация: 18.11.2009
Сообщений: 6

Всех благодарю. А Aetae расцеловать готов!

Вопрос исчерпан!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тип элемента формы MCTrane Общие вопросы Javascript 6 15.12.2011 08:08
проверка формы на изменение полей, кроме одного! cmygeHm ExtJS 14 13.04.2011 18:27
Изменение стиля родительского элемента при :hover дочернего lanzs Элементы интерфейса 2 16.10.2010 13:28
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17
Динамическое изменение размеров изображения Макс Элементы интерфейса 7 21.07.2008 16:55