Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] Dynamiczne formularze
bobo168
post
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
 
Start new topic
Odpowiedzi
Kwazi
post
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

Posty w temacie


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: 16.10.2025 - 13:01