Имена элементов форм в функции
Здравствуйте. У меня допустим есть функция увеличения\уменьшения числа в форме:
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:10. |