Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript][PHP]Dodawanie nowych pół w ajax (js)
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć chciałbym dodawać nowe pola w Ajax, poprzez klikniecie np.: "Dodaj Nowe Pole".

Posiadam taki kod:

  1. <h2>Podaj swoje imię i nazwisko</h2>
  2. Imię: <input type="text" name="imie" /><br />
  3. Nazwisko: <input type="text" name="nazwisko" /><br />


I pod tym chciałbym dodać przycisk "dodaj nowego użytkownika" i jak ktoś kliknie na to, to pokazuję się kolejny Input z imieniem i nazwiskiem (nawet 100 takich inputów chciałbym zrobić) to nawet nie jest taki trudne, ale później chciałbym zrobić kolejny input i żeby było:

  1. <h3>Podaj swój wiek</h2>
  2. Wiek {Imię i Nazwisko pierwszej osoby}: <input type="text" name="wiek" /><br />
  3. Wiek {Imię i Nazwisko drugiej osoby}: <input type="text" name="wiek" /><br />


Żeby jak dodam nowego użytkownika to od razu dodawało się też również dodatkowe pole niżej oraz żeby pokazywało się imię i nazwisko osoby (pierwszej lub drugiej)


A później jak to odebrać $_POST ?, trzeba sprawdzać warunkami czy coś jest napisane w polu czy jakoś inaczej ?


Pozdrawiam.
wookieb
Proszę wstawić bbcode.
kamil4u
Jeśli dobrze zrozumiałem co chcesz osiągnąć to zainteresuj się tworzeniem nowych elementów DOM w JS.
Użyj do tego funkcji: https://developer.mozilla.org/pl/DOM/element.appendChild i https://developer.mozilla.org/pl/DOM/document.createElement
Poczytaj też o DOM: http://kurs.browsehappy.pl/JavaScript/DOM#tworzenie

I przeanalizuj jakieś demo znalezione w google.
Giluś
No dobrze, z tym sobie już mniej więcej poradziłem, ale jak później odebrać te dane w PHP ? trzeba sprawdzać czy jest jakaś zawartość w nich ? np.:
  1. if( !isset($_POST['pole1']) ) {}
  2. if( !isset($_POST['pole2']) ) {}

itp

Czy jest jakiś inny sposób ? (bo jeśli tak to by trzeba było zrobić limit np 100 albo 200 taki pół maksymalnie i jeśli było by więcej to dać Alter w JS że więcej się nie da dodać smile.gif ?


Dzięki za odpowiedzi i pozdrawiam
(Do moderatora - poprawiłem)
kamil4u
Aby uzyskać te dane w PHP nadaj atrybut name dla tych pól, który będzie wyglądał tak: pole[]. Dzięki temu w PHP pod zmienną $_POST['pole'], będziesz miał tablicę z wartościami tych pól.

Również pozdrawiam
longinus_torwaldzki
Cześć,

formularz powienien wyglądać przed wysłaniem mniej więcej tak:
  1. <form method='post'>
  2.  
  3. <h2>Podaj swoje imię i nazwisko</h2>
  4. Imię: <input type="text" name="osoba[1][imie]" /><br />
  5. Nazwisko: <input type="text" name="osoba[1][nazwisko]" /><br />
  6.  
  7. <h2>Podaj swoje imię i nazwisko</h2>
  8. Imię: <input type="text" name="osoba[2][imie]" /><br />
  9. Nazwisko: <input type="text" name="osoba[2][nazwisko]" /><br />
  10.  
  11. <h2>Podaj swoje imię i nazwisko</h2>
  12. Imię: <input type="text" name="osoba[3][imie]" /><br />
  13. Nazwisko: <input type="text" name="osoba[3][nazwisko]" /><br />
  14. <input type='submit'>
  15. </form>
  16. <pre>
  17. <?
  18. print_r($_POST);
  19. ?>
  20. </pre>
  21.  

itd...
otrzymany wynik będzie sformatowany w tablicy

a potem juz tylko freach
  1. <?
  2. foreach ($_POST['osoba'] as $osoba){
  3. if (!empty($osoba['imie']){}...
  4.  
  5. }
  6. ?>





Giluś
Zrobiłem coś takiego:

  1. <script language=JavaScript type=text/javascript>
  2. function wstawTekst(){
  3. var sentencja = "Jakiś tekst 1";
  4. var node = document.createTextNode(" " + sentencja)
  5. document.getElementById("paragraf").appendChild(node)
  6.  
  7. var sentencja = "Jakiś tekst 2";
  8. var node = document.createTextNode(" " + sentencja)
  9. document.getElementById("inne").appendChild(node)
  10. }
  11. </head>
  12. <h1>Stwórz stronę</h1>
  13. <p id="paragraf">
  14. Ones<br />
  15. </p>
  16.  
  17.  
  18. <p id="inne">
  19. Twos<br />
  20. </p>
  21. <form name = "form1">
  22. <input type="button" value="dodaj" onclick="wstawTekst();">
  23. </form>


Działa dobrze, dodaje tekst w dwóch <p>, ale jak chce zmienić np.: "Jakiś tekst 1" na "<input type="text" name="osoba[2][nazwisko]" />" to się wyświetla:
"<input type="text" name="osoba[2][nazwisko]" />", a jeszcze jedno jak zmienić w JS tą cyferkę przy osoba[1], osoba[2]


Pozdrawiam.
kamil4u
Napisałem z jakich funkcji masz skorzystać. Nic nie wspominałem o createTextNode...
Kod
el = document.createElement('input');
el.name = 'osoba[2][nazwisko]';
el.type = 'text';
document.getElementById('inne').appendChild( el );
Giluś
No dobra, a co dalej, jak zmienić "osoba[2][nazwisko]", na "osoba[3][nazwisko]" ? w JS (aby Się to działa w tle)
kamil4u
Zmienna globalna smile.gif

Kod
i = 0;

/////// dalsza część kodu ///////////

el = document.createElement('input');
el.name = 'osoba['+(i++)+'][nazwisko]';
el.type = 'text';
document.getElementById('inne').appendChild( el );
Giluś
Taki mam kod:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3. <title>Insert title here</title>
  4. <script language=JavaScript type=text/javascript>
  5.  
  6. function wstawTekst(){
  7. i = 0;
  8. el = document.createElement('input');
  9. el.name = 'osoba['+(i++)+'][imie]';
  10. el.type = 'text';
  11. document.getElementById('inne').appendChild( el );
  12. }
  13. </head>
  14.  
  15. <form method='post'>
  16. <p id="inne">
  17. </p>
  18. <input type='submit'>
  19.  
  20. </form>
  21.  
  22. <pre>
  23. <?
  24. print_r($_POST);
  25.  
  26.  
  27. ?>
  28. </pre>
  29. <form name = "form1">
  30. <input type="button" value="dodaj" onclick="wstawTekst();">
  31. </form>
  32. </body>
  33. </html>
  34.  



I jak dodam 2 pola i wpiszę np.: Imię 1 i Imię 2 to wyświetla mi się takie coś tylko:
  1. Array
  2. (
  3. [osoba] => Array
  4. (
  5. [0] => Array
  6. (
  7. [imie] => Imie 2
  8. )
  9.  
  10. )
  11.  
  12. )

Zawsze wyświetla mi się ostatnie pole
Coś zle robie ?

Pozdrawiam.
konole
Ogarnij, sobie, co robisz.

Masz funkcję, do której wstawiłeś i = 0; Z tego, co wiem, to zmienne w funkcjach nie są globalne, o ile ich nie ustawisz. Za każdym razem, gdy wywołujesz funkcję, "i" jest ustawiane na 0. Teraz zadanie dla ciebie - zastanów się, jak zmienić kod, żeby Ci zadziałało. Pomyśl trochę sam, a nie oczekujesz za każdym razem na naszą pomoc. I nie, nie kombinuj ze zmiennymi globalnymi.
kamil4u
Cytat
Z tego, co wiem, to zmienne w funkcjach nie są globalne, o ile ich nie ustawisz.

Tak jest w PHP, w JS jest inaczej i zmienna bez przedrostka var lub jako atrybut jest lokalna.

Co do problemu to wystarczy zamienić 2 linie ze sobą miejscami. Które? Pomyśl, poprzednik napisał prawie gotowe rozwiązanie. Ja dodam tylko, że za każdym razem zerujesz zmienną i, a powinno się to zrobić tylko raz - jeszcze przed wywołaniem funkcji.
Giluś
Poradziłem sobie z tym problemem...
Ale mam taki inny, chciałbym aby dodawało pole z tekstem np.:

  1. <h1> Wypisz imiona </h1>
  2. <input type="button" value="Dodaj Użytkownika" onclick="wstawTekst();">
  3. // Pokazuję się pole:
  4. " Imię: <input type="text" name="osoba[0][imie]" /><br /> "
  5. " Imię: <input type="text" name="osoba[1][imie]" /><br /> "
  6.  
  7.  
  8. <h1> Wypisz wiek użytkownika </h1>
  9. // Po wciśnięciu 'dodaj użytkownika' tutaj pokazują sie pole (wcześniej ich nie ma)
  10.  
  11. " Wiek - (tutaj jakaś funkcja która auto uzupełni imię w JS/Ajax z powyższego inputu]: <input type="text" name="osoba[0][wiek]" /><br /> "
  12. " Wiek - (tutaj jakaś funkcja która auto uzupełni imię 2 w JS/Ajax z powyższego inputu]: <input type="text" name="osoba[1][wiek]" /><br /> "


itd itp

Jak takie coś zrobić ?
kamil4u
Napisz to jeszcze raz, bo nie rozumiem...

Naucz się podstaw JS, bo ez tego nic nie zrobisz...
Giluś
Chodzi mi oto, że robię taki mini symulator w php/js i chce zrobić coś takiego:
  1. <h2> Imię gracza </h2>
  2. Imię: <input type="text" name="......" /> <br /> // Wpisuję tutaj: Matrix.
  3. Imię: <input type="text" name="......" /> <br /> // Wpisuję tutaj: Fasola.
  4.  
  5. <h2>Wiek gracza</h2>
  6. Wiek gracza - Matrix: <input type="text" name="......" /> <br /> // Wpisuję tutaj: 18
  7. Wiek gracza - Fasola: <input type="text" name="......" /> <br /> // Wpisuję tutaj: 20
  8.  
  9. <h2>Wzrost gracza</h2>
  10. Wzrost gracza - Matrix, 18lat: <input type="text" name="......" /> <br />
  11. Wzrost gracza - Fasola, 20lat: <input type="text" name="......" /> <br />


Tak aby to się zmieniało bez przeładowania strony w czasie rzeczywistym, że ja napiszę "D" to się zmienia wszędzie na "D"
(
Wiek gracza - D: <input type="text" name="......" /> <br /> // Wpisuję tutaj: 18
Wzrost gracza - D, 18lat: <input type="text" name="......" /> <br />
)

takie przesyłanie zmiennych w czasie rzeczywistym, nie wiem jak to bardziej Ci opisac.
kamil4u
Przypomnij się jutro na forum( prywatna wiadomość ) to Ci to napiszę, a później zedytuję tego posta z rozwiązaniem.

Dłużej zajmie mi tłumaczenie jak to należy zrobić niż napisanie smile.gif

--edit--
http://jsfiddle.net/5Zyq3/ - pisane na szybko
Giluś
Ale nic nie przesyła się w POST, próbowałem zrobić tak:

[JAVASCRIPT] pobierz, plaintext
  1. li[2] = document.createElement('li');
  2. li[2].innerHTML = 'WZROST <b></b>:';
  3. input[2] = document.createElement('input');
  4. // odtąd zmiana
  5. input[2].name = 'osoba['+(i++)+'][wzrost]';
  6. input[2].type = 'text';
  7. // Koniec zmiany
  8. li[2].appendChild( input[2] );
  9. document.getElementById('wzrost').appendChild( li[2] );
[JAVASCRIPT] pobierz, plaintext


Ale jak naciskam "klik" to się nic nie dodaje
kamil4u
Myślałem, że sobie sam poradzisz....
http://jsfiddle.net/5Zyq3/1/
Giluś
Naprawdę bardzo dziękuję za odpowiedzi ale mam jeszcze jeden problemik:
Jak zamiast input "tekst" dać "checkbox", taki kod chce dodać:

  1. <input type="checkbox" name="nazwa" value="wartość" checked="checked" />Opcja 1 (domyślnie zaznaczona)
  2. <input type="checkbox" name="nazwa" value="wartość" />Opcja 2
  3. <input type="checkbox" name="nazwa" value="wartość" />Opcja 3

Oraz
  1. Opcja 1:
  2. <select name="nazwa">
  3. <option>10</option>
  4. </select>
  5. Opcja 2:
  6. <select name="nazwa">
  7. <option>10</option>
  8. </select>


Co do samej zaminy typu np.: z text na password lub na checkbox, to sobie poradziłem, ale jak powtórzyć aby były 3 checkbox i dodatkowo napis obok nich ?, tak samo z select
kamil4u
Poczytaj o tworzeniu elementów HTML i obsługę DOM poprzez JS. Bez tego nic nie zrobisz, a ja raczej ciągle nie będę pisał Ci skryptów.
Aby stworzyć checkbox-a musisz zmienić atrybut "type" stworzonego inputa. A jeżeli chcesz zrobić listę select/option to musisz stworzyć te elementy.
Giluś
Mam takie coś:
[JAVASCRIPT] pobierz, plaintext
  1. li[2] = document.createElement('li');
  2. li[2].innerHTML = 'xxxx <b></b>:';
  3. input[2] = document.createElement('input');
  4. input[2].name = 'osoba['+(i++)+'][xxxx]';
  5. input[2].type = 'checkbox';
  6. input[2].checked = 'checked';
  7. li[2].appendChild( input[2] );
  8. document.getElementById('xxxx').appendChild( li[2] );
[JAVASCRIPT] pobierz, plaintext

I wyświetla dobrze checkbox (dodaje) ale chciałbym aby po kliknięciu "klik" tworzyły się od razu 3 checkboxy dla jednego imienia, aby tak wyglądały mniej więcej:
  1. <input type="checkbox" name="nazwa" value="wartość" checked="checked" />Opcja 1 (domyślnie zaznaczona)
  2. <input type="checkbox" name="nazwa" value="wartość" />Opcja 2
  3. <input type="checkbox" name="nazwa" value="wartość" />Opcja 3
kamil4u
Wydaje mi się, że w takiej sytuacji należy stworzyć po prostu 3 checkbox-y, zamiast 1. No chyba, że się mylę? Proszę pomyśl czasami.
Giluś
No dobra, zrobiłem tak: działa, ale gdzie dać tekst za checkboxem
"Opcja 1", "Opcja 2", "Opcja 3" ?
kamil4u
Możesz stworzyć element <span>przed checkboxem i później użyć innerHTML albo lepiej, ale odrobinę trudniej -> użyć to co już próbowałeś zrobić, czyli użyć: https://developer.mozilla.org/en/DOM:document.createTextNode
Giluś
Zrobiłem takie coś:
[JAVASCRIPT] pobierz, plaintext
  1. var sentencja = "Opcja 1";
  2. var node = document.createTextNode(" " + sentencja)
  3. document.getElementById("xxx").appendChild(node)
[JAVASCRIPT] pobierz, plaintext


Ale jak zrobić aby było bez załamania linii ? bo mam tak:
[v] (checkbox)
Opcja 1
a chce: [v] Opcja 1
kamil4u
Wklej cały ten kod - najlepiej tu http://jsfiddle.net/
Giluś
http://jsfiddle.net/Z4TmQ/5/

Nie wiem czy dobrze działa, pierwszy raz jestem na tej stronie.
kamil4u
Kod
var newtext = document.createTextNode("Jakiś tekst 2 ");
    var para = document.getElementById("teren");
   para.appendChild(newtext);

->
Kod
var newtext = document.createTextNode("Jakiś tekst 2 ");
   li[3].appendChild(newtext);
Giluś
Wiec jeszcze mam jedno pytanie co do select/option
Stworzyłem Element (select) i chciałem dodać option, w taki sam sposób jak np.: typ i nazwa w input, tylko że to nie działa, tworzy select ale nie ma żadnych opcji do wyboru taki js mam:

[JAVASCRIPT] pobierz, plaintext
  1. li[8] = document.createElement('li');
  2. li[8].innerHTML = 'Wybierz Umiejętnosć 1 dla: <b></b>:';
  3. input[8] = document.createElement('select');
  4. input[8].name = 'osoba['+(i++)+'][umiejetnosc1]';
  5. input[8].option = '1';
  6. input[8].option = '2';
  7. input[8].option = '3';
  8. input[8].option = '4';
  9. li[8].appendChild( input[8] );
  10. document.getElementById('skils').appendChild( li[8] );
[JAVASCRIPT] pobierz, plaintext



i stronka: http://jsfiddle.net/Z4TmQ/6/
kamil4u
Option to nowy element HTML:
Kod
1. stwórz select
2. zedytuj select
3. stwórz option
4. zedytuj option
5. umiesc option do select-a
6. wróć do kroku 3, gdy chcesz więcej option
7. umieść select w li


stwórz -> createElement
umieść -> appendChild
edytuj ->
Kod
referencjaDoElementu.nazwaAtrybutu = wartość;

referencję uzyskujesz jako wartość zwrotną funkcji createElement
Giluś
Czy coś takiego powinno wyjść:
[JAVASCRIPT] pobierz, plaintext
  1. li[8] = document.createElement('li');
  2. li[8].innerHTML = 'Umiejętność dla: <b></b>:';
  3. li[8] = document.createElement('select');
  4. li[8].name = 'osoba['+(i++)+'][umiejetnosc1]';
  5. li[8] = document.createElement('option');
  6. li[8].nazwaAtrybutu = wartość;
  7. document.getElementById('skils').appendChild( li[8] );
[JAVASCRIPT] pobierz, plaintext


Nie wiem czy dobrze dałem: "li[8].name = 'osoba['+(i++)+'][umiejetnosc1]';" i co dać tutaj: "li[8].nazwaAtrybutu = wartość;", wartość to pewnie będzie 0/1/2/3 ( to co się wyświetla w <option>xx</option>, ale jaka nazwa atrybutu ?
kamil4u
Zmień zmienną z li[8] na jakąś inną. Jak sama nazwa wskazuje li to tablica elementów li. Trzymaj logiczne nazwy. Dla elementu select, option stwórz osobne zmienne - lokalne.

Kod
li[8].nazwaAtrybutu = wartość;

To Ci raczej nie zadziała... - nie kopiuj bezmyślnie!
Giluś
Dobrze, zmieniłem na troszkę inne:

[JAVASCRIPT] pobierz, plaintext
  1. li[8] = document.createElement('li');
  2. li[8].innerHTML = 'Umiejętność 1 dla: <b></b>:';
  3. select[8] = document.createElement('select');
  4. select[8].name = 'osoba['+(i++)+'][umiejetnosc1]';
  5. option[8] = document.createElement('option');
  6. option[8].nazwaAtrybutu = wartość;
  7. select[8].appendChild( option[8] );
  8. li[8].appendChild( select[8] );
  9. document.getElementById('skils').appendChild( li[8] );
[JAVASCRIPT] pobierz, plaintext


Tak jest lepiej ?
co do: " option[8].nazwaAtrybutu = wartość; " - własnie nie wiem co tu dać ?
kamil4u
Poczytaj co to zmienna, tablica itd., o nie rozumiesz podstawowych zagadnień....

Cytat
własnie nie wiem co tu dać ?

option[8].name = "nazwa"; //ustawi atrybut name na "nazwa"
option[8].value = "wartość"; //ustawi atrybut value na "wartość"
Wyjątkiem jest innerHTML, który jakgdyby ustawia wszystko to co jest pomiędzy znacznikami.

Np.
[JAVASCRIPT] pobierz, plaintext
  1. var b = document.createElement('b');
  2. b.innerHTML = "ala ma kota";
[JAVASCRIPT] pobierz, plaintext

Dzięki temu tworzysz element <b>ala ma kota</b>

Musisz jeszcze wiele poczytać, bo jak na razie piszesz coś, czego w ogóle nie rozumiesz...
Giluś
No dobrze, ale w którym momencie popełniłem bład w tym kodzie, że mi nie wyświetla listy
[JAVASCRIPT] pobierz, plaintext
  1. li[8] = document.createElement('li');
  2. li[8].innerHTML = 'Umiejętność 1 dla: <b></b>:';
  3. select[8] = document.createElement('select');
  4. select[8].name = 'osoba['+(i++)+'][umiejetnosc1]';
  5. option[8] = document.createElement('option');
  6. option[8].name = "nazwa";
  7. select[8].appendChild( option[8] );
  8. li[8].appendChild( select[8] );
  9. document.getElementById('skils').appendChild( li[8] );
[JAVASCRIPT] pobierz, plaintext


Zrobiłem mniej więcej jak mi mówiłeś:
"
1. stwórz select
2. zedytuj select
3. stwórz option
4. zedytuj option
5. umiesc option do select-a
6. wróć do kroku 3, gdy chcesz więcej option
7. umieść select w li
"
1. Stworzyłem na początku li:
[JAVASCRIPT] pobierz, plaintext
  1. li[8] = document.createElement('li');
[JAVASCRIPT] pobierz, plaintext

2. Dałem tekst na początku li:
[JAVASCRIPT] pobierz, plaintext
  1. li[8].innerHTML = 'Umiejętność 1 dla: <b></b>:';
[JAVASCRIPT] pobierz, plaintext

3. Stworzyłem select:
[JAVASCRIPT] pobierz, plaintext
  1. select[8] = document.createElement('select');
[JAVASCRIPT] pobierz, plaintext

4. edytowałem select:
[JAVASCRIPT] pobierz, plaintext
  1. select[8].name = 'osoba['+(i++)+'][umiejetnosc1]';
[JAVASCRIPT] pobierz, plaintext

5. Stworzyłem option:
[JAVASCRIPT] pobierz, plaintext
  1. option[8] = document.createElement('option');
[JAVASCRIPT] pobierz, plaintext

6. edytowałem option
[JAVASCRIPT] pobierz, plaintext
  1. option[8].name = "1";
[JAVASCRIPT] pobierz, plaintext

5. Umieściłem option w select
[JAVASCRIPT] pobierz, plaintext
  1. select[8].appendChild( option[8] );
[JAVASCRIPT] pobierz, plaintext

6. Umieściłem select w li:
[JAVASCRIPT] pobierz, plaintext
  1. li[8].appendChild( select[8] );
[JAVASCRIPT] pobierz, plaintext

7. Dodanie do odpowiedniego momentu w html:
[JAVASCRIPT] pobierz, plaintext
  1. document.getElementById('skils').appendChild( li[8] );
[JAVASCRIPT] pobierz, plaintext
kamil4u
Ponieważ mylisz zmienną z tablicą...
np. option[8] - to 9 element tablicy option. Ty potrzebujesz użyć zmiennej, nie tablicy. Mówiłem, żebyś poczytał o tym!

Nie jestem na 100% pewien, ale name nie powinno być liczbą. Jak nie potrzebujesz edytować option to go nie edytujesz. Podpowiem też, że Ty głównie potrzebujesz zmienić value i innerHTML dla option.
Giluś
Działa smile.gif, ale teraz jak będę chciał dodać kolejny option to muszę, taki kod dawać:
[JAVASCRIPT] pobierz, plaintext
  1. var option = document.createElement('option');
  2. option.innerHTML = '1';
  3. select.appendChild( option );
  4. var option = document.createElement('option');
  5. option.innerHTML = '2';
  6. select.appendChild( option );
  7. var option = document.createElement('option');
  8. option.innerHTML = '3';
  9. select.appendChild( option );
[JAVASCRIPT] pobierz, plaintext

Czy można to skrócić ?
kamil4u
Możesz stworzyć funkcję smile.gif
konole
Cytat(kamil4u @ 25.08.2011, 18:46:44 ) *
Możesz stworzyć funkcję smile.gif

Wywołałeś tym lawinę kolejnych 20 pytań.
Giluś
Może i wywołał, może i nie wywołał nie znam się za bardzo JavaScript, nie potrzebuję gotowców na każe moje pytanie, ale jak tylko mnie ktoś naprowadzi to na pewno sobie prędzej czy później poradzę, tak jak to zrobił kamil:
"
1. stwórz select
2. zedytuj select
3. stwórz option
4. zedytuj option
5. umiesc option do select-a
6. wróć do kroku 3, gdy chcesz więcej option
7. umieść select w li
"
Sam sobie zrobiłem większość skryptu i później poprawki jeśli coś było źle. smile.gif
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.