Динамическое изменение пути до элемента формы
Привет коллеги! Всех с наступившим НОВЫМ ГОДОМ! :dance:
Резко переходим к делу. Разберём простенький пример... Как из этого document.form.email.value динамически получить следующее document.form.password.value |
Цитата:
или сделать два элемента на одном месте. скрывать один и открывать другой и обращаться с необход свойствам его элементы разные свойства разные |
Не не не не...
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 сценарий не сможет получить значение поля. Поэтому такой вариант не приемлем... Нужны выши идеи. :yes: |
Если я правильно понял:
document.form[condition?'email':'password'].value |
Ну почти... :)
Поясню ещё разок. В функцию прилетает либо email, либо password и присваевается переменной option Далее требуется из document.form.$.valueполучить либо document.form.email.valueлибо document.form.password.valueв зависимости от того, что содержится в option Мне не понятна Ваша запись document.form[condition?'email':'password'].valueЧто у Вас содержится в condition, и почему перед [ нет точки? |
Цитата:
$='email'; document.form[$].value Цитата:
Цитата:
Цитата:
a={b:10} alert(a['b']==a.b) |
Цитата:
|
Как я понял тут обычная "если" проверка подойдёт :-?
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, с тем же успехом можно предложить и вот такой вариант... :)
function Check(Name) { var str = document.getElementsByName(Name)[0].value } |
Всех благодарю. А Aetae расцеловать готов! :)
Вопрос исчерпан! |
Часовой пояс GMT +3, время: 20:02. |