Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Dynamiczne dodawanie pol formularza i tablica php
Forum PHP.pl > Forum > Przedszkole
badowl
Witam, mam napisany formularz, który umożliwia dodawanie nowych pól. Po wysłaniu formularza dane powinny zostać wyświetlone za pomocą php jednak jest coś nie tak
plik html:
  1. <style type="text/css">
  2. <!--
  3. input.form { display: block; }
  4. -->
  5. <script type="text/javascript">
  6. <!--
  7. function dodaj(pole){
  8. var znacznik = document.createElement('input');
  9. znacznik.setAttribute('type', 'text');
  10. znacznik.setAttribute('name', 'cos[]');
  11. znacznik.className = 'form';
  12. var pole = document.getElementById(pole);
  13. pole.appendChild(znacznik);
  14. }
  15.  
  16. function policz(){
  17. var elementy = document.formularz.length;
  18. window.alert(elementy);
  19. }
  20. </script>
  21. </head>
  22. <body>
  23. <form action="wyswietl.php" method="post" name="formularz">
  24. <div id="form">
  25. <input type="text" name="cos[]" class="form" />
  26. </div>
  27. <div>
  28. <input type="button" value="Dodaj kolejne pole" onclick="dodaj('form');" />
  29. <input type="submit" value="Wyślij" />
  30. <input type="button" value="Policz" onClick="policz()" />
  31. </div>


plik php:
  1. <?php
  2. $name = $_POST['cos'];
  3. foreach ($name as $key => $val){
  4. print $key . "=>" . $val;
  5. }
  6. ?>


w czym problem?
skowron-line
Cytat
jednak jest coś nie tak
Czyli co jest nie tak questionmark.gif
badowl
po dodaniu kilku pól, wypełnianiu ich i wysłaniu formularza wyświetlana jest tylko zawartość ostatniego pola
qrooel
  1. print_r($_POST);


Zobacz co się tam dzieje.
badowl
Cytat(qrooel @ 21.12.2011, 22:15:15 ) *
  1. print_r($_POST);


Zobacz co się tam dzieje.



Array ( [cos] => 2 ) // ostatnie pole
abort
U mnie na skopiowanym kodzie (niemal żywcem - dorobiłem tylko brakujące znaczniki form, body i html) wszystko działa. Zarówno liczenie, jak i przekazywanie danych via POST. A print_r ($_POST) zwraca:
Kod
Array
(
    [cos] => Array
        (
            [0] => 1a
            [1] => 2b
            [2] => 3c
            [3] => 4d
        )

)

Czyli chyba poprawnie. Bo chyba czegoś takiego oczekujesz, prawda?
Może masz starą wersję php albo coś w ten deseń? U mnie mam php 5.3.3.
badowl
dziwne... posiadam najnowszą wersję php dostarczoną razem z Xampp 1.7.7
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.