Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Formularz z dynamicznymi polami
Forum PHP.pl > Forum > Przedszkole
pandaci
Witam

Chciałbym zrobić coś takiego:
mam pole checkbox
/ \
zaznaczam pokazują mi się 3 pola Nie zaznaczam tych pól nie ma
input type


Jak to zrobić questionmark.gif
yaotzin
dwie możliwości wykorzystać AJAX i PHP do "przeładowania" strony :]

Lub wykorzystać JavaScript i technologię DOM. Sprawdź funkcję GetElementById i innerHTML mam nadzieję że sie nie pomyliłem co do nazw bo klepię z palca a dawno nie używałem. PZDR
batman
Nie potrzebujesz kombinować z DOM, a tym bardziej z AJAX-em. Po prostu ukrywasz odpowiednie pola przy pomocy CSS, a następnie podczas zmiany stanu checkbox-a, wyświetlasz lub ponownie ukrywasz.

Kod
function show_hide(obj) {
  if(obj.checked) {
    document.getElementById('input1').style.display = "block";
    document.getElementById('input2').style.display = "block";
    document.getElementById('input3').style.display = "block";
  }
  else {
    document.getElementById('input1').style.display = "none";
    document.getElementById('input2').style.display = "none";
    document.getElementById('input3').style.display = "none";
  }
}

<input type="checkbox" onclick="show_hide(this);" />
<input type="text" id="input1" />
<input type="text" id="input2" />
<input type="text" id="input3" />


Pisane z palca, więc mógł gdzieś się wkraść błąd.

Oczywiście zamiast kombinować z kilkoma elementami, możesz je umieścić w jednym div-ie i go ukrywać / wyświetlać.
pandaci
Dzieki wielkie MAM.

ALe jeden mały problem jak uruchamiam to się pokazują jak kliknę i odkliknę to ich nie ma jak zrobić żeby na początku też ich nie było questionmark.gif
batman
Kod
<input type="text" id="input1" style="display:none;" />
<input type="text" id="input2" style="display:none;" />
<input type="text" id="input3" style="display:none;" />
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.