Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Javascript] Dynamiczne pola
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
tenior
Problem polega na zaznaczeniu opcji radio ma ukryć część formularza i pokazać inne pola
  1. <tr><td width="150" align="left" valign="top">Opcja:</td><td>
  2. <input type="radio" name="pers" value="firma"> FIRMA<br>
  3. <input type="radio" name="pers" value="osoba" checked> OSOBA FIZYCZNA<br>


Standardowo wyświetlane są pola
  1. <tr><td width="150" align="left">Imię i Nazwisko:</td><td><input size="23" name="imie"></td></tr>
  2. <tr><td width="150" align="left">Numer pesel:</td><td><input size="23" name="pesel"></td></tr>


Ale po wybraniu opcje chce aby te dwa pola znikly a pojawily sie
  1. <tr><td width="150" align="left">Nazwa firmy:</td><td><input size="23" name="nazwafirmy"></td></tr>
  2. <tr><td width="150" align="left">NIP:</td><td><input size="23" name="nip"></td></tr>


Widziałem taką kombinację na jakiejś stronie jednak nie mogę sobie przypomnieć adresu.
#luq
Wrzucasz obie te kombinacje pól w osobne divy o jakichśtam id, do inputa[name="pers"] dodajesz zdarzenie onchange, które sprawdza czy jest zaznaczony czy nie, i na tej podstawie ukrywa jeden div, a pokazuje drugi.
Tyle w teorii, a praktyka czyni mistrza, pamiętaj winksmiley.jpg
tenior
jesli bylo by to tak proste to bym to zrobił, jak widać nie na darmo umieściłem znaczniki
  1. <tr>
lord_t
Możesz to samo spróbować dla tr. Ewentualnie może zmiana wysokości (możliwe ze trzeba będzie pokombinować też z td).
ayeo
Witam!

Nie rozumiem co za problem w dodaniu jakiejś klasy do TR?

Pozdrawiam!
#luq
Oj sorry nie zauważyłem, że to w <tr /> siedzi...

Ogólnie to niczego nie zmienia, mógłbyś nawet tego diva wepchnąć chyba by wyglądało okej, że walidator by się pluł. Dodaj do tych <tr/> z obu kombinacji różną klasę i po tym wyszukasz element w DOM i go ukryjesz.
Rozumiem, że piszesz w czystym JS`ie, a więc getElementByTag() i sprawdzasz klasę elementu. Tyle winksmiley.jpg

@edit: widzę, że mnie uprzedzono
vtuner
No ale znaczniki <TR> mogą przyjmować takie same wartości style co <DIV> (tj. style="display: none"), więc robisz tak samo jak na DIV'ach. Nadajesz tym TR jakieś id (np. id="pierwszy_rzad") i potem w JS bierzesz metodę getElementById (czy podobna nazwa, już zapomniałem, bo dawno nie pisałem w czystym JS) i nadajesz odpowiedni display
tenior
właśnie w <tr> nie chce coś mi id działać
lord_t
A dałeś dla każdego wiersza rożne id? Bo id nie może się powtarzać. Możesz skorzystać z klas.
tenior
Dziękuję wszystkim za pomoc, a w szczególności lordowi 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.