Dynamiczne tworzenie QUIZU.

0

Witam mój problem polega na tym, że po pierwsze nie wiem jak za ten problem się wziąć, czy typowo oprzeć całe tworzenie quizu zapisywać na bazie MYSQL czy dynamicznie tworzyć, ale także sprawdzać poprawność danych na JavaScript.
Mój problem polega na tym, że mam stworzyć stronę gdzie użytkownik wchodząc będzie miał możliwość stworzenie sobie nowego quizu, podczas tworzenia ma trzy możliwości. Pytanie jednokrotnego wyboru, plus dowolna ilość odpowiedzi, wielokrotnego tylko tutaj może mieć wiele odpowiedzi prawdziwych, lub też zadanie tekstowe. Pytań może sobie dowolną ilość oczywiście stworzyć. Bazę mam, tylko ta dynamiczność czy baza co lepsze?
Mój potworek

<html>
 <head>
  <title>QUIZ</title>
  <style type="text/css">
   <!--
    input.odpowiedz { display: list-item;}
   -->
  </style>
  <script type="text/javascript">
   <!--
	function dodaj_element_radio(kontener)
    {
	 var znacznik = document.createElement('input');
	 znacznik.setAttribute('type', 'radio');
	 znacznik.setAttribute('name', 'odpowiedz1');
	 znacznik.className = 'odpowiedz';
	 var kontener = document.getElementById(kontener);
 	 kontener.appendChild(znacznik);
    }
	function dodaj_element_wielokrotnego_wyboru(kontener)
    {
	 var znacznik = document.createElement('input');
	 znacznik.setAttribute('type', 'checkbox');
	 znacznik.setAttribute('name', 'odpowiedz2');
	 znacznik.className = 'odpowiedz';
	 var kontener = document.getElementById(kontener);
 	 kontener.appendChild(znacznik);
    }
	function dodaj_element_pole_tekstowe(kontener)
    {
	 var znacznik = document.createElement('input');
	 znacznik.setAttribute('type', 'text');
	 znacznik.setAttribute('name', 'odpowiedz3');
	 znacznik.setAttribute('size', '50');
	 znacznik.className = 'odpowiedz';
	 var kontener = document.getElementById(kontener);
 	 kontener.appendChild(znacznik);
    }
	function tworzenie_diva(kontener)
	{
	 var znacznik = document.createElement('div');
	 znacznik.className = 'pytanie';
	 var kontener = document.getElementById(kontener);
 	 kontener.appendChild(znacznik);
	}
	/*fuction dodaj_element_ukryty(kontener)
	{
	 var znacznik=document.createElement('input');
	 znacznik.setAttribute('type', 'hidden');
	 znacznik.setAttribute('name', 'hidden');
	 znacznik.setAttribute('value', 'hidden');*/
	 
   //-->
  </script>
 </head>
 <body>
  <form action="jakisplik.php" method="post">
   <div id="pytanie">
    <input type="hidden" name="hidden" value="0"; class="pytanie" />
   </div>
   <div>
    <input type="button" value="Załacz kolejne pytanie jednokrotnego wyboru." onclick="dodaj_element_radio('pytanie');" />
	<input type="button" value="Załacz kolejne pytanie wielokrotnego wyboru." onclick="dodaj_element_wielokrotnego_wyboru('pytanie');" />
	<input type="button" value="Załacz kolejne pytanie tekstowe." onclick="dodaj_element_pole_tekstowe('pytanie');" />
	<input type="button" value="div" onclick="tworzenie_diva(pytanie);" />
	<br>
    <input type="submit" value="Wyślij" />
   </div>
   <script type="text/javascript">
    document.write(getElementsByTagName('input').lastChild.nodeType);
   </script>
  </form>
 </body>
</html>
 
0

Pomyślałem nad moim problemem, i coś takiego stworzyłem.

 <html>
  <head>
   <title>QUIZ</title>
   <meta name="author" content="k4i1" >  
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <meta http-equiv=="Content-Script-Type" CONTENT="text/javascript">
   <script type="text/javascript">
    <!--
     function dodaj_pole(kontener,typ_pola,nazwa_pola,wartosc_pola,clasa_pola,id_pola)
     {
      var znacznik = document.createElement('input');
      znacznik.setAttribute('type', typ_pola);
      znacznik.setAttribute('name', nazwa_pola);
      if(wartosc_pola!=""){znacznik.setAttribute('value', wartosc_pola);}
      if(clasa_pola!=""){znacznik.className = clasa_pola;}
      if(id_pola!=""){znacznik.setAttribute('id', id_pola);}
      var kontener = document.getElementById(kontener);
      kontener.appendChild(znacznik);
     }
     function dodaj_diva(kontener)
     {
      var znacznik = document.createElement('div');
      znacznik.setAttribute('name', 'nazwa');
      znacznik.setAttribute('id', 'test');
      znacznik.className = "pytanie";
      znacznik.className = 'odpowiedz';
      var kontener = document.getElementById(kontener);
      kontener.value=dodaj_pole("pytanie","radio","odpowiedz","","odpowiedz","");
      kontener.appendChild(znacznik);
     }   
    //-->
   </script>
   <style type="text/css">
    <!--
     div.pytanie {display: list-item;}
    -->
   </style>
  </head>
  <body>
   <form action="jakisplik.php" method="post">
    <div id="pytanie">
     <input type="hidden" name="hidden" value="0"; class="pytanie" />
    </div>
    <div>
     <input type='button' value='Dodaj kolejne pytanie jednokrotnego wyboru' onclick='dodaj_pole("pytanie","radio","odpowiedz","","odpowiedz","");'/>
     <input type='button' value='Dodaj kolejne pytanie wielokrotnego wyboru' onclick='dodaj_pole("pytanie","checkbox","odpowiedz","","odpowiedz","");'/>
     <input type='button' value='Dodaj kolejne pytanie tekstowe' onclick='dodaj_pole("pytanie","text","odpowiedz","","odpowiedz","");'/>
     <input type='button' value='pole ukryte' onclick='dodaj_pole("pytanie","hidden","ukryte","5","ukrytycss","");'/>
     <input type='button' value='Przycisk testowy' onclick='dodaj_diva("pytanie");'/>
     <br>
     <input type="submit" value="Wyslij" />
    </div>   
   </form>
  </body>
 </html>

Tworze dynamicznie diva i wstawiam po divie z id pytanie. Ale po pierwsze chce żeby ten tworzony div był w divie z id pytanie, ale także nowo utworzono div miał np wywołanie funkcji dodaj_pole("pytanie","radio","odpowiedz","","odpowiedz",""); Czy ktoś wie jak mój problem rozwiązać?

0

Pomysł porzucony z powodu zbyt wielkiej zawiłości oraz braku czasu na poświęcenie tematowi więcej czasu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1