Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przepisywanie Pól, "hurtowe"
ktuvok
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
akubiczek
post
Post #2





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.07.2004
Skąd: z neostrady

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Posty w temacie
- ktuvok   Przepisywanie Pól   19.08.2004, 21:36:42
- - akubiczek   Mniej elegancko: wpisz po prostu nazwy pól do tab...   20.08.2004, 08:37:02


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 13:50