Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dynamiczne dodawanie pól formularza oraz grupowanie dodanych rekordów
Norbit_24
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 2
Dołączył: 7.03.2009

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


Witam,

Chcę zrobić dynamiczne dodawanie pól formularza wszystko działa pięknie gdy chcę powielać jeden input jednocześnie..
Problem pojawia się wtedy gdy chcę powielać dwa inputy jednocześnie czyli jednym pliknieciem w button chce dodać następne dwa inputy: Nazwa oraz Powierzchnia

  1. <script type="text/javascript">
  2. <!--
  3. function dodaj_element(kontener){
  4. var znacznik = document.createElement('input');
  5. znacznik.setAttribute('type', 'text');
  6. znacznik.setAttribute('name', 'powierzchnia[]');
  7. znacznik.className = 'zestawienie_powierzchni';
  8. var kontener = document.getElementById(kontener);
  9. kontener.appendChild(znacznik);
  10. }
  11. //-->
  12.  
  13. <style type="text/css">
  14. <!--
  15. input.zestawienie_powierzchni { display: block; }
  16. -->
  17.  
  18. <div id="zestawienie">Nazwa: <input type="text" name="powierzchnia[]" class="zestawienie_powierzchni"> Powierzchnia:<input type="text" name="m2[]" class="wm2"></div>
  19.  
  20. <input type="button" value="Dodaj kolejne pole" onclick="dodaj_element('zestawienie');" />



Mam jeszcze drugie pytanie. Jak odebrać następnie te dane i zapisać do bazy danych, Nazwa oraz Powierzchnia muszą być w jednym rekordzie.. Nie wiem jak to pogrupować..
  1. foreach ($_POST as $klucz => $tablica ) {
  2. echo 'kluczc: '.$klucz.'<br>';
  3. foreach ($tablica as $nr_wiersza => $warotsc )
  4. echo 'nr wiersza: '.$nr_wiersza.' wartosc :'.$warotsc.'<br>';
  5. }


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





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Trochę źle to robisz, niby działa, ale potem właśnie masz problemy z odebraniem tego i tak dalej...
Powinieneś przerobić funkcję dodaj_element() tak aby dodawała ci dwa pola naraz, każde z unikalnym indexem - takim samym dla jednej pary, żeby później wiadomo było które dane są do czego. Sam html powinien wyglądać mniej więcej tak (zwróć uwage na 'name' w inputach):
  1. <input type="text" name="powierzchnia[1][powierzchnia]" class="zestawienie_powierzchni">
  2. <input type="text" name="powierzchnia[1][m2]" class="wm2">
  3.  
  4. <input type="text" name="powierzchnia[2][powierzchnia]" class="zestawienie_powierzchni">
  5. <input type="text" name="powierzchnia[2][m2]" class="wm2">
  6.  
  7. <input type="text" name="powierzchnia[3][powierzchnia]" class="zestawienie_powierzchni">
  8. <input type="text" name="powierzchnia[3][m2]" class="wm2">

Wtedy możesz to odebrać z jednego parametru $_POST['powierzchnia'] co zwróci ci tablicę z parami. Później możesz ją sobie łatwo przelecieć za pomocą foreach i wstawić do bazy.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 01:40