Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX + PHP + MYSQL] Dynamiczny formularz.
Riggs
post
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 13
Dołączył: 16.06.2007

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


Witam!
Problem pewnie stary jak technologia AJAX ale nigdzie w sieci nie mogę znaleźć rozwiązania. Otóż w kodzie PHP tworzę sobie formularz (wyświetlany funkcją echo()). Ma pola typu input, select, checkbox (to ostatnie ma się generować dynamicznie). Stworzenie formularza w PHP który z bazy danych pobierze sobie dane i "przerobi" je na checkbox-y nie stanowi dla mnie żadnego problemu. Problem jest z dynamicznym formularzem. Przedstawię szybko zasadę jego działania:
1. użytkownik wypisuje sobie inputy itd...
2. z pola SELECT wybiera jedna z wartości (do tego pola opcje OPTION zostały wcześniej wczytane z bazy danych i jako value przechowuję ich ID w bazie).
3. Po zmianie wyboru w SELECT mają generować się checkbox-y w zależności od tego jaka wartość została wybrana w SELECT (tu musiałoby być kolejne zapytanie do bazy).

Rozumiem że punkty 2 i 3 muszą być zrobione w AJAX. Na sieci znalazłem przykład ale z wartościami wpisanymi na sztywno. Jakby ktoś mógł wrzucić taki skrypcik do analizy (bo wolę się tego nauczyć niż ściągać z gotowca).

Drugi problem jest następujący:
Po kliknięciu jakiegoś checkbox-a ma się wyłączyć pole tekstowe. (to pewnie jest banalne ale też nic nie mogę znaleźć).

Z góry dzięki za pomoc.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Pobierz paczkę advAJAX a następnie zrób tak:

index.html
  1. <script type="text/javascript" src="advajax.js"></script>
  2. <script type="text/javascript">
  3. function getBoxes() {
  4. advAJAX.get({
  5. url : "boxes.php",
  6. parameters : {
  7. "opcje" : document.getElementById("opcje").value
  8. },
  9. onSuccess : function(obj) { document.getElementById("box").innerHTML = obj.responseText; }
  10. });
  11. }
  12. </script>
  13. </head>
  14. <tr>
  15. <td>
  16. <select name="opcje" id="opcje" onchange="getBoxes()">
  17. <option value="1">Jeden</option>
  18. <option value="2">Dwa</option>
  19. <option value="3">Trzy</option>
  20. </select>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td>
  25. <div id="box"></div>
  26. </td>
  27. </tr>
  28. </body>
  29. </html>


boxes.php
  1. <?php
  2. if ( isset ( $_GET['opcje'] ) ) {
  3. switch ( $_GET['opcje'] ) {
  4. case 1:
  5. echo '<input type="checkbox" name="a">Jeden<br />';
  6. break;
  7. case 2:
  8. echo '<input type="checkbox" name="b">Dwa<br />';
  9. break;
  10. default:
  11. echo '<input type="checkbox" name="x">Domyslny<br />';
  12. }
  13. }
  14. ?>


I całość dostosuj do swoich potrzeb.
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: 28.12.2025 - 00:29