Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][HTML][PHP]Dynamiczne dodawanie pol formularza i tablica php
badowl
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 18.07.2011

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat
jednak jest coś nie tak
Czyli co jest nie tak (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
badowl
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 18.07.2011

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


po dodaniu kilku pól, wypełnianiu ich i wysłaniu formularza wyświetlana jest tylko zawartość ostatniego pola
Go to the top of the page
+Quote Post
qrooel
post
Post #4





Grupa: Zarejestrowani
Postów: 306
Pomógł: 42
Dołączył: 25.03.2010
Skąd: Kraków

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


  1. print_r($_POST);


Zobacz co się tam dzieje.
Go to the top of the page
+Quote Post
badowl
post
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 18.07.2011

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


Cytat(qrooel @ 21.12.2011, 22:15:15 ) *
  1. print_r($_POST);


Zobacz co się tam dzieje.



Array ( [cos] => 2 ) // ostatnie pole
Go to the top of the page
+Quote Post
abort
post
Post #6





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


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.
Go to the top of the page
+Quote Post
badowl
post
Post #7





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 18.07.2011

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


dziwne... posiadam najnowszą wersję php dostarczoną razem z Xampp 1.7.7
Go to the top of the page
+Quote Post

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: 3.04.2026 - 13:37