Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dynamiczne dodawanie formów (a'la gmail)
Forum PHP.pl > Forum > XML, AJAX
.luki
witam, szukam rozwiązania takiego jak jest na gmailu przy dodawaniu załączników, dokładniej:

chcę zrobić tak, żeby na początku mieć jeden form typu:

(...) [Wybierz...]
(dodaj nową pozycję)

po kliknięciu na to, dodaje się nowe pole, tj.:

(...) [Wybierz...]
(...) [Wybierz...]
(dodaj nową pozycję)/(usuń jedną pozycję)

itd, bez przeładowania strony - później chcę to obsługiwać w skrypcie napisanym w php (chodzi o uploadowanie zdjęć)
Cezar708
  1. <script language="javascript">
  2. function addInput(){
  3. var dif = document.getElementById("zdjecia");
  4. var newElem = document.createElement('input');
  5. newElem.type="file";
  6. newElem.name="images[]";
  7. dif.appendChild(newElem);
  8. }
  9.  
  10. <button onClick="addInput()">(dodaj nową pozycję)</button>
  11. <div id="zdjecia">
  12. <input type="file" name="images[]" />
  13. </div>


będzie wszystko inline, ale to to już sobie za pomocą css obrobisz (display: block;)
.luki
ok, z obsługą sobie poradziłem, ale jak mogę zrobić, żeby zaraz po dodaniu linka do pliku z dysku od razu zaczynał się uploadować, a nie czekał dopiero na wysłanie forma?
Cezar708
Nie da się forma zawsze trzeba wysłać. Oczywiście idzie obejść to poprzez stworzenie dodatkowego forma tylko dla pojedynczego obrazka i wykorzystanie AJAX. Choć w takim przypadku nie polecałbym takiego rozwiązania bo trzeba pozakładać dużo zabezpieczeń (np: nie można wysłać właściwego forma dopóki obrazek kolejny się nie wyśle... w bazie danych trzeba zaznaczać, które obrazki są w danej sesji dodane.. etc...).

Jeśli to nie jest absolutnie niezbędne polecam pozostać przy normalnym uploadowaniu.
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.