Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Rozbudowany formularz
Forum PHP.pl > Forum > Przedszkole
Xart
Witam w jaki sposób mogę zrobić rozbudowany formularz rejestracji na zasadzie:
Mamy pole opcji:
1) Osoba
2) Firma
w zależności od wyboru pojawią nam się dalej inne pola np:
Jeśli wybierzemy osoba ta:
imię
nazwisko
Jesli firma to:
nazwa
regon

W jaki sposób mogę to zrobić ? (konkrety)
Da radę w php czy trzeba js ?
Może jakieś wskazówki lub gotowe rozwiązania ?

Z góry thx smile.gif
Kshyhoo
Bez przeładowania strony w JS, z przeładowaniem można w PHP
nikestylex7
PHP = metoda GET
JS np w Jquery = show(), hide()

Umieszczasz w divie i chowasz później tylko id jeśli wybierze osoba to pokazujesz diva 1 jeśli firma to diva 2
Xart
Można prosić przykładowy kod bo js nie bardzo ;d
Xart
Niestety nie jestem w stanie tego ogarnąć napisze mi ktoś taki kod ?
Kshyhoo
W takim razie przenoszę.
Turson
  1. <input type="radio" name="Kto" value="Prywatna" onchange="sprawdz(this)">os. prywatna<br>
  2. <input type="radio" name="Kto" value="Firma" onchange="sprawdz(this)">firma
  3. <div class="prywatna" style="display:none">
  4. Imię i nazwisko <input type="text">
  5. </div>
  6. <div class="firma" style="display:none">
  7. Regon <input type="text">
  8. </div>
  9.  
  10. function sprawdz(x){
  11. var kto = $(x).attr('value');
  12. if(kto == "Prywatna"){
  13. $('.firma').hide();
  14. $('.prywatna').show();
  15. }
  16. else{
  17. $('.prywatna').hide();
  18. $('.firma').show();
  19. }
  20. }
Xart
@UP
Dzięki wielkie smile.gif)

@EDIT:
Ale niestety nie działa ;//
Nie wyświetla kompletnie nic po zaznaczeniu...
Kshyhoo
Założę się, że zrobiłeś kopiuj/wklej...?
Xart
No tak a trzeba jeszcze coś dodać mhm ?

Zmieniałem parę rzeczy ale dalej nie działa np
sprawdz(this) chyba na sprawdz(x)
nikestylex7
Ciekawe co za to będę miał smile.gif

  1. <input type="radio" name="input1" id="input1"/>Osoba
  2. <input type="radio" name="input1" id="input2"/>Firma
  3. <div id="pole1" style="display:none;"><span>text1</span></div>
  4. <div id="pole2" style="display:none;"><span>text2</span></div>



  1. <script>
  2. $(document).ready(function(){
  3. $("#input1").click(function(){
  4. if($('#input1:checked')) {
  5. $("#pole2").hide();
  6. $("#pole1").show();
  7. }else{
  8. $("#pole1").hide();
  9. $("#pole2").show();
  10. }
  11. });
  12. $("#input2").click(function(){
  13. if($('#input2:checked')) {
  14. $("#pole1").hide();
  15. $("#pole2").show();
  16. }else{
  17. $("#pole2").hide();
  18. $("#pole1").show();
  19. }
  20. });
  21. });
  22. </script>
Xart
@UP
Niestety ale nadal nie działa po zaznaczeniu pola nic ;/
nikestylex7
http://jsfiddle.net/9aeAV/

ahh nie chce mi się uczyć Ciebie podstaw ale w head musisz umieścić link do biblioteki jquery np: <script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
Xart
No właśnie ale gdy dodaję to do pliku html
to nie działa ;/
nikestylex7
omg... wejdz w ten link js.... tam weź run i zobacz jak działa. potem wklej tutaj cały kod strony i zobaczymy.
Xart
Wiem na tej stronie co podałeś działa bardzo dobrze tak jak chciałem ale gdy odpalam to normalnie z pliku to niestety ale nie wygląda to tak:

plik index.html
  1. <script type="text/javascript" src="skrypt.js"></script>
  2. <input type="radio" name="input1" id="input1"/>Osoba
  3. <input type="radio" name="input1" id="input2"/>Firma
  4. <div id="pole1" style="display:none;"><span>text1</span></div>
  5. <div id="pole2" style="display:none;"><span>text2</span></div>


plik skrypt.js
  1. $(document).ready(function(){
  2. $("#input1").click(function(){
  3. if($('#input1:checked')) {
  4. $("#pole2").hide();
  5. $("#pole1").show();
  6. }else{
  7. $("#pole1").hide();
  8. $("#pole2").show();
  9. }
  10. });
  11. $("#input2").click(function(){
  12. if($('#input2:checked')) {
  13. $("#pole1").hide();
  14. $("#pole2").show();
  15. }else{
  16. $("#pole2").hide();
  17. $("#pole1").show();
  18. }
  19. });
  20. });
Kshyhoo
Bo użyłeś jQuery, której on nie ma... Zobacz teraz.
nikestylex7
  1. <title>Title of the document</title>
  2. <script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
  3. </head>
  4.  
  5. $(document).ready(function(){
  6. $("#input1").click(function(){
  7. if($('#input1:checked')) {
  8. $("#pole2").hide();
  9. $("#pole1").show();
  10. }else{
  11. $("#pole1").hide();
  12. $("#pole2").show();
  13. }
  14. });
  15. $("#input2").click(function(){
  16. if($('#input2:checked')) {
  17. $("#pole1").hide();
  18. $("#pole2").show();
  19. }else{
  20. $("#pole2").hide();
  21. $("#pole1").show();
  22. }
  23. });
  24. });
  25. <input type="radio" name="input1" id="input1"/>Osoba
  26. <input type="radio" name="input1" id="input2"/>Firma
  27. <div id="pole1" style="display:none;"><span>text1</span></div>
  28. <div id="pole2" style="display:none;"><span>text2</span></div>
  29. </body>
  30.  
  31. </html>


skopiuj to do index.html całość zapisz i odpal
Xart
Nie działa mi ani na komputerze przez przeglądarkę ani na serwerze www...
Co zrobić żeby działało ?

Dodałem jquery i już działa dzięki wielkie biggrin.gif
Można zamknąć ;p
dodałem tę bibliotekę

PS: Nie myślcie, że jestem początkujący aż tak bardzo biggrin.gif nie znam się poprostu na JS

Jeszcze masz błąd jeden haha.gif
  1. <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
nikestylex7
jak to możliwe.

od nowa skopiuj mi zawartość index.html
Xart
O.o Po co Ci mam kopiować ;p działa ale masz jak chciałeś (poprawiłem jedną linijkę )

  1. <title>Title of the document</title>
  2. <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
  3. </head>
  4.  
  5. $(document).ready(function(){
  6. $("#input1").click(function(){
  7. if($('#input1:checked')) {
  8. $("#pole2").hide();
  9. $("#pole1").show();
  10. }else{
  11. $("#pole1").hide();
  12. $("#pole2").show();
  13. }
  14. });
  15. $("#input2").click(function(){
  16. if($('#input2:checked')) {
  17. $("#pole1").hide();
  18. $("#pole2").show();
  19. }else{
  20. $("#pole2").hide();
  21. $("#pole1").show();
  22. }
  23. });
  24. });
  25. <input type="radio" name="input1" id="input1"/>Osoba
  26. <input type="radio" name="input1" id="input2"/>Firma
  27. <div id="pole1" style="display:none;"><span>text1</span></div>
  28. <div id="pole2" style="display:none;"><span>text2</span></div>
  29. </body>
  30.  
  31. </html>
nikestylex7
no bo napisałeś że nie działa no to jak już ook jest to git tylko sobie to zredaguj tak jak byś chciał.
Xart
Spokojnie dalej już umiem ;p
muszę zacząć się uczyć tego JS.

Aktualnie najbardziej umiem HTML & PHP
PHP na dużo wyższym poziomie wink.gif

Dzięki wielkie za pomoc można zamknąc
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.