Имена элементов форм в функции
Здравствуйте. У меня допустим есть функция увеличения\уменьшения числа в форме:
function plusmin(val,test){ if (val==0){ document.forms.a.test.value=(+(document.forms.a.test.value)-1); } else{ document.forms.a.test.value=(+(document.forms.a.test.value)+1); } } Что мне надо: Сделать так, чтобы имя, передаваемое в переменную test менялось в значении document.forms.a.test.value. Например если в переменную test передано значение Vasya P, надо чтоб искался элемент формы с именем Vasya P (document.forms.a.Vasya P.value). В этой функции ищется элемент test только. |
|
Не подходит мне поиск по DOM. Решил проблему так:
function plusmin(test,val){ if (val==0){ test++ } else{ test-- } return(test); } И при вызове: onClick="document.forms.a.test.value=plusmin(document.forms.a.test.value,1)" // уменьшение на 1 onClick="document.forms.a.test.value=plusmin(document.forms.a.test.value,0)" //увеличение на 1 Естественно имена элементов формы могут меняться как угодно. Буду благодарен за более рациональный алгоритм) |
Так что не понятно то, как переменную вместо имени подставить?
|
Цитата:
function plusmin(val,test){ var as= new Array(); as["test"]=test; if (val==0){ document.forms.a.as["test"].value=(+(document.forms.a.as["test"].value)-1); } else{ document.forms.a.as["test"].value=(+(document.forms.a.as["test"].value)+1); } }[/JS] |
document.forms.a[test].value |
без кавычек фаербаг выдает ошибку, что document.forms.a[test] не определена. С кавычками ищет только элемент формы с названием test. Может не там правлю или что? Вот код:
function tester(test,val){ var as=new Array(); as["test"]=test; if (val==0){ document.forms.a[test].value=(+(document.forms.a[test].value)-1); } else{ document.forms.a[test].value=(+(document.forms.a[test].value)+1); } } Вот событие: onClick="tester(gethour,1)" as["test"] пробовал и с кавычками и без них. Не получается. |
А
Цитата:
|
<input type='text' size=3 name=gethour> В коде есть.
Я написал то, что мне посоветовали. Свой код работает. |
Строки в JavaScript записываются в кавычках, если вы передаете имя элемента в виде строки, так и пишите соответственно в кавычках.
onClick="tester('gethour',1)" |
Часовой пояс GMT +3, время: 19:29. |