Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dynamiczne dodawanie pól formularza np pola input
Forum PHP.pl > Forum > PHP
kaniagandzowski
Witam znalazłem fajny skrypt do tworzenia dynamicznych pól w formularzu opis znajduje sie na stronie http://webmade.org/porady/createelement-cl...endchild-js.php
lecz mam problem z odczytaniem danych bo bierze mi ostania nazwę pliku z ostatniego pola zamiast podac wszystkie nazwy plikow z wszystkich pol
W skrypcie zmienilem wysylanie danych z post na get do przykladu aby zobaczyc co generuje za dane i tak więc w pasku adresu jest generowany taki adres:
http://localhost/~mgr/index.php?plik=plik....plik=index.html
i odczytuje te dane przez

  1. <?php
  2. foreach ($_POST as $klucz => $warotsc ) {
  3. echo 'kluczc: '.$klucz.' wartosc :'.$warotsc.'<br>';
  4.  }
  5. ?>



wtedy wyswietli tylko
klucz:plik wartosc :index.html

mysle ze wina jest po skrypcie javy bo nie zmienia nazwy zmienej co powoduje sie nadpisywanie danych na tem sama zmieną jesli wie moze ktoś jak to roziwazac aby mozna bylo pobierac lub cos lepszego macie i prostego to prosil o podanie

----------------------
Proszę pamiętać o BB Code, tym razem
poprawiłem : )
---
~strife
devnul
nazwa powinnabyć nie plik a plik[] tzn nazwy pól których jest wiele powinny mieć charakter tablicowy i tak też je później można odczytać - inaczej będzie się działo tak jak sam opisałeś - dostepna będzie ostatnia wartość ponieważ wszystkie poprzednie zostaną nadpisane - php nie domyśli sie że chodzi nam o tablice jesli mu tego nie powiemy
kaniagandzowski
Wielkie dzięki smile.gif
Poniżej przedstawiam rozwiązanie problemu dla tworzenia dynamicznych pól np dodawanie dodatkowego pola input typu text
  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', 'plik[]');
  7. znacznik.className = 'upload';
  8. var kontener = document.getElementById(kontener);
  9. kontener.appendChild(znacznik);
  10. }
  11. //-->
  12. <style type="text/css">
  13. <!--
  14. input.upload { display: block; }
  15. -->
  16.  
  17. <form action="index.php" method="post">
  18. <div id="pliki">
  19. <input type="text" name="plik[]" class="upload" />
  20.  
  21.  
  22. </label>
  23. </div>
  24. <div>
  25. <input type="button" value="Załšcz kolejny plik" onclick="dodaj_element('pliki');" />
  26. <input type="submit" value="Wyœlij" />
  27. </div>
  28. </form>


a w pliku gdzie chcemy pobrać dane piszemy np:

  1. <?php
  2. foreach ($_POST as $klucz => $tablica ) {
  3. echo 'kluczc: '.$klucz.'<br>';
  4. foreach ($tablica as $nr_wiersza => $warotsc )
  5.  echo 'nr wiersza: '.$nr_wiersza.' wartosc :'.$warotsc.'<br>';
  6.  }
  7. ?>
lords
witam, zaćmienie umysłowe momentami nie zna granic smile.gif

jeśli mamy table w której mamy wiersz a w nim pola rok - miesiac - dzien
i dowolną ich ilość to jeśli użyjemy kodu, który podał kaniagandzowski dostaniemy pola rozbite na wiersze, a jak zrobić odwrotnie tzn. żeby wiersze były rozbite na pola? potrzebuje tego do zapisu do bazy a sam drugi dzien kombinuje i nic smile.gif pomocy czarodziej.gif

ktoś może mi pomóc questionmark.gif albo jakos nakierunkować questionmark.gif smile.gif
DannyM
Pozwolcie, ze odswieze temat. Wszysko pieknie ale jak zorbic jesli mam wiecej pol obok siebie np. imie, nazwisko itd jak je wyswietlic obok siebie bo w chwili obecnej sa na przemina

0 imie
1 imie
2 imie

0 nazwisko
1 nazwisko
2 nazwisko

a ja chce uzyska imie nazwisko
Atlas
Przychylam sie do prosby kolegi nademna. Wiem ze trzeba cos nad tablica pokombinowac ale jeszcze nie doszedlem co i jak tongue.gif
Wiec prosze o pomoc smile.gif
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.