Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Formularz] Radio = Dodanie pól
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
aceide
Witam.

Chcialbym wykorzystac w formularzu:
  1. <form action=index.php method=post>
  2. <input type=radio name=nazwa value=tak> Posiadam konto
  3. <input type=radio name=nazwa value=nie> Nie posiadam
  4. </form>

... coś takiego ze po zaznaczeniu opcji Nie posiadam (zmienna $nazwa = nie) pod spodem pojawialy sie dwa pola input (login i haslo) w tym samym formularzu gotowe do przeslania dodatkowych informacji dalej. To jest pewnie bardzo proste ale ja w ogole sie na tym nie znam smile.gif.

Z góry proszę moderatorów o poblazliwosc, bo w ogole nie znam JS ani DHTMLa i byc moze taki temat juz jest - nie wiem pod jaka pozycja tego szukac smile.gif Z gory dziekuje i pozdrawiam.
scanner
Ogólnie:
Do obu radio podpinasz akcję "onChange". formularz do zakladania konta dajesz w <div> i sterujjesz parametrem "visibility" - chyba najprościej. (ale nie ma chwilowo jak sprawdzić)
aceide
A można podać kod demonstracyjny, bo nie mam zielonego pojęcia o JavaScript sad.gif
GofNet
Witam Was Ziemianie. Chyba napisałęm fragment kodu, którego szukasz. Oto on:
  1. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1--><html>
  2.   <meta http-equiv="Content-Language" content="pl">
  3.   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  4.   <meta name="Author" content="GofNet">
  5.   <title>Ukrywanie warstwy</title>
  6.   <script type="text/javascript">
  7.   <!--
  8.      var ns6=document.getElementById&&!document.all;
  9.      var ie4=document.all;
  10.      var ns4=document.layers;
  11.      function pokaz(identyfikator){
  12.         if(ie4)
  13.            document.all[identyfikator].style.visibility="visible";
  14.         if(ns6)
  15.            document.getElementById(identyfikator).style.visibility="visible";
  16.         if(ns4)
  17.            document.layers[identyfikator].visibility="show";
  18.      }
  19.      function ukryj(identyfikator){
  20.         if(ie4)
  21.            document.all[identyfikator].style.visibility="hidden";
  22.         if(ns6)
  23.            document.getElementById(identyfikator).style.visibility="hidden";
  24.         if(ns4)
  25.            document.layers[identyfikator].visibility="hide";
  26.      }
  27.      //-->
  28.      </script>
  29. </head>
  30.  
  31. <body onLoad="ukryj('warstwa');">
  32.   <center>
  33.      <h2>Warstwy</h2>
  34.   </center>
  35.   <form action="index.php" method="post">
  36.   <input type="radio" name="nazwa" value="tak" onclick="pokaz('warstwa');"> Posiadam konto<br>
  37.   <input type="radio" name="nazwa" value="nie" onclick="ukryj('warstwa');"> Nie posiadam konta
  38.   <div id="warstwa">
  39.      Login: <input type="text" name="login" value="" size="20"><br>
  40.      Hasło: <input type="password" name="pwd" value="" size="20">
  41.   </div>
  42.   </form>
  43. </body>
  44. </html><!--c2--></div><!--ec2-->


Graficznie musisz sobie go dopasować do własnych potrzeb. Powodzenia aarambo.gif
aceide
Oka - dzięki, o to chodziło, tylko teraz chciałbym jedną poprawkę na to wszystko - w tym momencie (dokładnie to w momencie gdy zaznaczona jest opcja Nie posiadam konta) powstaje taka duża przerwa (wielkości <div> -a smile.gif) między <div> -em, a resztą dokumentu HTML - istnieje jakaś możliwość przeróbki skryptu, żeby to zniknęło?
GofNet
Jedyna koncepcja, jaka w tej chwili mnie naszła, to wstawić w to miejsce opcjonalnie nie jedną, lecz dwie warstwy. Jeśli ktoś ma konto, to niech się zaloguje, a w przeciwnym wypdku, niech będzie jakiś obrazek, lub kosmetyczny button, lub coś podobnego, co będzie trzeba nacisnąć, aby się zapisać do serwisu. guitar.gif Jest to może pośresnie rozwiązanie, ale w tej chwili nie mam pomysłów na ten problemik.
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.