Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript] dodanie kolejnego pola input
srwsio
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 20.01.2005
Skąd: Szczecin

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


Piszę sobie na własne potrzeby upload plików zdjęciowych. Mały bez tam jakichś wodotrysków. Znalazłem na internecie w jakimś tam uplojdzie taki oto skrypt js (o ile o php mi coś wiadomo to o js nie wiem nic (IMG:style_emoticons/default/smile.gif) )

  1. <script language="JavaScript">
  2. var x = 1;
  3.  
  4. function addMore() {
  5. x = x + 1;
  6. if (x > 10)
  7. alert("Sorry ! Nie możesz dodać więcej niż 10 zdjęć jednocześnie.");
  8. else
  9. document.getElementByType("dodaj" + x).style.display = "block";
  10. }
  11. </script>


wywołuje się to przez
  1. echo "<a href=\"#\" onclick=\"addMore()\">Wyślij więcej</a>";

przy czym w każdym formularzu należy miec znacznik table o id=upload1 , upload 2 i tak dalej w zależności od ilości zdefiniowanej w js

Akurat ja przesyłam sobie pliki przez taki oto formularz
  1. <form name=\"formularzyk\" enctype=\"multipart/form-data\" method=\"post\" action=\"zdjecia.php\">
  2. <p><input type=\"file\" size=\"50\" name=\"zdjecie[]\" value=\"\" /></p>
  3. <p><input type=\"file\" size=\"50\" name=\"zdjecie[]\" value=\"\" /></p>
  4. <p class=\"button\"><input type=\"hidden\" name=\"action\" value=\"multiple\" />
  5. <input type=\"submit\" name=\"Wyślij\" value=\"upload\" /></p>
  6. </form>



I chciałbym dostosować ten powyższy js do tego kodu powyżej. Tak żeby klikając 'Wyślij więcej' dodało mi kolejną linię
  1. <p><input type=\"file\" size=\"50\" name=\"zdjecie[]\" value=\"\" /></p>

Z góry dziękuję

Ten post edytował srwsio 3.02.2010, 10:53:18
Go to the top of the page
+Quote Post
Szeszek1992
post
Post #2





Grupa: Zarejestrowani
Postów: 117
Pomógł: 29
Dołączył: 20.05.2009

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


Wujek Google zawsze pomoże;)
http://www.internetmaker.pl/artykul/3758,1...formularza.html
Wszystko ładnie i dokładnie wyjaśnione jak takie coś zrobić.
Go to the top of the page
+Quote Post
srwsio
post
Post #3





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 20.01.2005
Skąd: Szczecin

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


z tym że to co podałeś to jest dokładnie to co ja już mam. jak zauważyłeś JS dodaje do "name" tworzonego inputa kolejna cyferkę czyli pola wyglądają tak :
  1. <form name=\"formularzyk\" enctype=\"multipart/form-data\" method=\"post\" action=\"zdjecia.php\">
  2. <p><input type=\"file\" size=\"50\" name=\"zdjecie1\" value=\"\" /></p>
  3. <p><input type=\"file\" size=\"50\" name=\"zdjecie2\" value=\"\" /></p>
  4. <p class=\"button\"><input type=\"hidden\" name=\"action\" value=\"multiple\" />
  5. <input type=\"submit\" name=\"Wyślij\" value=\"upload\" /></p>
  6. </form>


a ja u siebie mam tabice czyli name= "zdjecie[]".

tak jak pisałem nie znam sie całkowicie na js dlatego też może nie zroumiałem tego przykładu?

Go to the top of the page
+Quote Post
Szeszek1992
post
Post #4





Grupa: Zarejestrowani
Postów: 117
Pomógł: 29
Dołączył: 20.05.2009

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


Nie wiem, czy Cię dobrze zrozumiałem, ale czy
chcesz, aby dając nazwę inputa jako zdjecie[], tworzyło ci tablicę w PHP?

Wszystkie pliki, które prześlesz, znajdują się w tablicy $_FILES, a indeks w tablicy jest nazwą inputa(zdjecie1, zdjecie2, zdjecie...).
Teraz tylko pętla:
  1. $l=1;
  2. while(isset($_FILES['zdjecie'.$l]))
  3. {
  4. $plik_tmp = $_FILES['zdjecie'.$l]['tmp_name'];
  5. $plik_nazwa = $_FILES['zdjecie'.$l]['name'];
  6. $plik_rozmiar = $_FILES['zdjecie'.$l]['size'];//Możesz to wykorzystać, jeśli chcesz ustawić maksymalny rozmiar pliku
  7.  
  8. if(is_uploaded_file($plik_tmp))
  9. {
  10. move_uploaded_file($plik_tmp, 'FolderWKtorymChceszZapisac/'.$plik_nazwa);
  11. }
  12. $l++;
  13. }

I upload gotowy;)
Go to the top of the page
+Quote Post
srwsio
post
Post #5





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 20.01.2005
Skąd: Szczecin

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


poradziłem sobie (IMG:style_emoticons/default/smile.gif) po prostu dodaje teraz kolejny input wykorzystując nie wartość name a wartość id (IMG:style_emoticons/default/smile.gif)


dzięki wielkie za pomoc
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: 23.08.2025 - 07:55