Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przepisywanie Pól
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
ktuvok
W okienku wyświetlam listę rekordów. Każdy wiersz zawiera formularz z polami
"hidden". W każdym wierszu jest przycisk "WSTAW", który wywołuje następującą
funkcję:
Kod
function WstawDane(formularz)
{
eval('opener.document.forms.NazwaFormularza.PoleA.value =
formularz.PoleA.value');
eval('opener.document.forms.NazwaFormularza.PoleC.value =
formularz.PoleC.value');
eval('opener.document.forms.NazwaFormularza.PoleF.value =
formularz.PoleF.value');
//...itd...
}

Wywołuję to tak:
  1. <INPUT TYPE=button value=Zasuwaj onClick="WstawDane(this.form)">


Jak widać pola w obu formularzach mają takie same nazwy.

Jak to skrócić? Tzn napisać: "przepisz wszystkie pola o tych samych nazwach
z aktualnego formularza do openera"?

Pozdrawiam,
Krzysiek
akubiczek
Mniej elegancko:

wpisz po prostu nazwy pól do tablicy i w pętli przeleć przez wszystkie

Kod
for (i=0; i<tablica.length; i++) {

opener.document.forms.NazwaFormularza[tablica[i]].value=.....

}


Bardziej elegancko:

w pętli pobieraj kolejne elementy z kolekcji elements (formularz.elements[index]), odczytuj ich nazwę (element.name) i przypisuj wartości. Długość kolekcji masz w property length.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.