Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] Dynamiczne formularze
bobo168
post 20.12.2006, 17:05:55
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


Witam mam problem z dynamicznymi formurzami. Chodzi o pola select mianowicie gdy 1 pole ma wartość np. 2 to wtedy 2 pole typu select zmienia sobie wartości które są przypisane do wartości 2 w 1 polu select. Jak to zrobić? Znalazłem taki kod:
Kod
<html>
<head>
<style type="text/css">
div { width: 100px; height: 100px; margin: 0 0 2em 0; }
#k1 {border: 1px solid #000; display: block; background: #000; color: #FFF;}
#k2 {border: 1px solid #000; display: none; background: #FFF; color: #000;}
</style>
<script type="text/javascript">
function wybierz() {
oSelect = document.getElementById("wybor");
if(oSelect.value == "pole1") {
document.getElementById("k1").style.display = "block";
document.getElementById("k2").style.display = "none";
} else {
document.getElementById("k1").style.display = "none";
document.getElementById("k2").style.display = "block";
}
}
</script>
</head>
<body>
<div id="k1">RAZ</div>
<div id="k2">DWA</div>
<select id="wybor" onchange="wybierz()">
<option value="pole1">Pole 1</option>
<option value="pole2">Pole 2</option>
</select>
<select id="wybor" onchange="wybierz()">
<option value="pole1">Pole 1</option>
<option value="pole2">Pole 2</option>
</select>
</body>
</html>

Ale nie bardzo wiem jak to wyedytować aby działało jak chce. Bo z JS nie jeste mocny :/
Z góry thx za pomoc.
Go to the top of the page
+Quote Post
Kwazi
post 21.12.2006, 10:38:49
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 22.11.2006

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


Spróbuj tak:
Formularzowi i selectom nadaj jakieś nazwy np:
  1. <?php
  2. <form name=jakis>
  3. <select name=pierwszy onChange=zmien()>
  4. <option value=pole1>Pole 1</option>
  5. <option value=pole2>Pole 2</option>
  6. </select>
  7. <select name=drugi>
  8. <option value=pole1>Pole 1</option>
  9. <option value=pole2>Pole 2</option>
  10. </select>
  11. </form>
  12. ?>


A następnie napisz funkcję, która będzie zmieniać wartość drugiego selecta na n-tą opcję w zależności od wyboru n-tej opcji w pierwszym formularzu!
Idea jest taka: Przeleć wszystkie opcje w selekcie pierwszym i znajdź zaznaczoną, pobierz jej numer, a następnie w selekcie drugim przypisz opcji o tym numerze wartosć selected na true.
Mniej więcej coś takoego:

  1. <?php
  2. <script language=JavaScript>
  3. function zmien()
  4. {
  5. for (i=0;i<document.jakis['pierwszy'].length;i++)
  6. if (document.jakis['pierwszy'].options[i].selected==true) break; 
  7.  
  8.  document.jakis['drugi'].options[i].selected=true;
  9. }
  10. </script>
  11. ?>


Powinno działać, ale nie testowałem tego, powodzenia!
Go to the top of the page
+Quote Post
en3o
post 1.02.2007, 14:13:59
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.03.2006

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


a czy ten skrypt da sie przerobic tak aby w jednym polu bylo
np: lista wojewodztwa a w drugim lista misat. i po wybraniu konkretnego wojewodztwa w drugmi wyswietlala sie lista miast z tego wojewodztwa?? bo kombinuje cos takiego i nie nic nie wychodzi..... sad.gif
pozdrawiam snitch.gif


--------------------
Nowysoft | Nurzec-Stacja | Goksir Mielnik | Biblioteka Mielnik
Go to the top of the page
+Quote Post
free
post 1.02.2007, 21:34:17
Post #4





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

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


Widze ze mamy taki sam problem:
W ponizszym kodzie mam kod odpowiedzialny za wyswietlanie kategorii i podkategorii.
Służy mi on w edycji ogloszeń. Jak sprawic by po zmianie w polu select katagorii AUTOMATYCZNIE zmieniły sie podkategorie.
Kod php

  1. <?php
  2. <select name="kategoria"><option value="$id_kategoria" selected> $kategoria </option> ";
  3. $wynik=mysql_query("SELECT * FROM kategoria WHERE nazwa not in ('$kategoria')");
  4. for ($i=0; $i<@mysql_num_rows($wynik); $i++){
  5. $wiersz=mysql_fetch_array($wynik);
  6. $nazwa=$wiersz['nazwa'];
  7. echo "<option value="".$wiersz["id_kategoria"].""> $nazwa </option> " ;
  8. }
  9.  echo"</select>";
  10.  
  11. /////////Wyswietla podaketegorie///////////////
  12. $pyt1="SELECT podkat_id, id_podkat, nazwapod, id FROM ogloszenia o, podkat p
  13.  WHERE o.podkat_id=p.id_podkat AND id='$id'";
  14. $wyk1 = mysql_query($pyt1);
  15. $rzad1 = mysql_fetch_array($wyk1);
  16. $podkat = $rzad1['nazwapod'];
  17. $id_podkat = $rzad1['id_podkat'];
  18.  
  19. echo "<select name="podkat"><option value=" $id_podkat" selected> $podkat</option> ";
  20.  
  21. $wynik2=mysql_query("SELECT * FROM podkat WHERE kat_id='$id_kategoria' AND
  22.  nazwapod not in ('$podkat')");
  23.  for ($i=0; $i<@mysql_num_rows($wynik2); $i++)  {
  24.  $wiersz2=mysql_fetch_array($wynik2);
  25.  $nazwapod=$wiersz2['nazwapod'];
  26.  $id_podkat = $wiersz2['id_podkat'];
  27.  
  28. echo "<option value="$id_podkat"> $nazwapod </option> " ;  }
  29. echo"</select>";
  30. /////////Koniec podkategorii////////////////
  31. ?>


KWAZI jakbyś to połączył z powyższym kodem ?
Go to the top of the page
+Quote Post
HomerWells
post 4.02.2007, 11:45:46
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 2.05.2005

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


Modyfikuje obecnie galerie zdjęć. Wcześniej zdjęcia były "luzem". Obecnie będą trzamane w tematycznych galeriach a nazwy galerii w "nadkategoriach" w związku z czym mam pytanie. Jeżeli użykownik będzie chciał dodać zdjęcię będzie najpierw musiał:
1) Wybrać nadkategorie
2) Wybrac galerie
3) Dopiero teraz wysłać zdjęcie na serwer
Po wybraniu nadkategorii należałoby wysłać odpowiednie zapytanie do serwera aby pobrać odpowiedni zbiór galerii. Doszedłem do wniosku, że to jest trochę marnotrawienie czasu. Moim zdaniem lepszym rozwiazaniem będzie pobranie przy pierwszym wejsciu na stronę formularza wszystkich nazw nadkategorii oraz galerii a resztą zajmie się javascript.
Czy to jest dobre podejśćie? Łącznie zbiór "nadkategorii" i "galerii" nie będzie pewnie liczył więcej niż 100 pozycji.
Go to the top of the page
+Quote Post
en3o
post 4.02.2007, 23:32:35
Post #6





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.03.2006

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


znalazlem rozwiazanie do swojego problemu. pod tym adresem Cut & Paste znajduje sie rozwiazanie problemu biggrin.gif .
moze w czyms pomoze.
pozdrawiam

Ten post edytował en3o 4.02.2007, 23:33:29


--------------------
Nowysoft | Nurzec-Stacja | Goksir Mielnik | Biblioteka Mielnik
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.06.2025 - 21:58