Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][js]Dynamiczne dodawanie pól formularza
Forum PHP.pl > Forum > PHP
kilabdg
Witam! Znalazłem na forum podobne tematy, lecz nigdzie problem nie był w pełni taki sam jak u mnie.

O co chodzi?

Tworzę formularz dla klienta przez który klient będzie zamawiać materiały. Potrzebuję stworzyć dynamiczny formularz, że klient sam będzie decydować ile chce zamówić materiałów. Ma to działać w ten sposób, że będzie guziczek, dzięki któremu automatycznie doda (nie rabczewska tongue.gif) się pole typu text.

Znalazłem na jakieś stronce skrypt w JavieScript i fajnie działa, ale tam dodaje się tylko jedno pole. W związku z tym że z Javą się ostatnio pokłóciłem, ta nie chce ze mną teraz współpracować (jednym słowem nie znam się na javie smile.gif)

Kod wygląda mniej więcej tak:
  1. <script type="text/javascript">
  2. <!--
  3. var i=0;
  4. function dodaj_element(kontener){
  5.  
  6. var tekst = document.createTextNode('pole'+i+': ');
  7. var input = document.createElement('input');
  8. input.setAttribute('type', 'text');
  9. input.setAttribute('name', 'tresc'+i);
  10. input.className = 'upload';
  11. var kontener = document.getElementById(kontener);
  12. kontener.appendChild(input);
  13. i++;
  14. }
  15. -->

  1. echo "
  2. </td><td width=* class=\"nagl_left\">
  3. <div id=\"tresc\">
  4. Materiał:
  5. </div>
  6. <div>
  7. "?> <a href="#" onClick="dodaj_element('tresc')" />dodaj linię materiałową</a><? echo "
  8.  
  9. </div>


Skrypt dodaje jedno pole typu input na zasadzie jedno pod drugim. To będą pola materiałowe, więc potrzebuje 4 pola obok siebie (nazwa materiału, jednostka miary, ilość, cena)
Nie potrafię przerobić javy, żeby dodawała mi po 4 pola o tak:


Drugi problem powstaje gdy te pola wysyłam formularzem do pliku zapisującego dane do bazy. Udało mi się zrobić na sztywno przekazywanie tych danych do jakiegoś testowego pliku np test.php, który zawiera taki kod:
  1. $pole1 = $_POST['pole1'];
  2. $pole2 = $_POST['pole2'];
  3.  
  4. echo $pole1 ."<br>";
  5. echo $pole2 ."<br>";


Jak przekazać liczbę tych pól co mi java dodała do takiego pliku test.php, żeby wiedział ile zmiennych ma odczytaćquestionmark.gif Bo teraz działa mi dla dwóch pól. Jak zmodyfikujemy jave żeby dodawała 4 pola jak na rysunku to liczba zmiennych się rozrośnie. Jak klient doda powiedzmy 4 materiały wraz z ilością ceną itp to będzie razem 16 zmiennych. Jak je automatycznie wygenerowaćquestionmark.gif

Z góry dziękuję za pomoc!!

john_doe
obczaj sobie tak, przycisk, który dynamicznie dodaję Ci pole jakie chcesz
  1.  
  2. function showInput()
  3. {
  4. var htmlCode;
  5. var btnDelete;
  6.  
  7. htmlCode = "<input type='text' /><br />";
  8.  
  9. myDiv = document.getElementById("myDivElement");
  10.  
  11. myDiv.innerHTML += htmlCode;
  12.  
  13.  
  14. btn_delete = "<input type='button' onClick='clearScreen();' value='Clear form' />";
  15.  
  16. delDiv = document.getElementById("delDivElement");
  17.  
  18. delDiv.innerHTML = btn_delete;
  19.  
  20. }
  21.  


i tak tego użyj
  1. <div id="delDivElement"></div>
  2.  
  3. <input type="button" value="Add attachment" onClick="showUploadInput();" />
  4.  
  5. <div id="myDivElement"></div>


co do drugiego tematu.... tablice są Ci potrzebne. Pakuj 1 kolumnę do tablicy druga itd
kilabdg
dzięki, problem rozwiązany smile.gif
pablo89pl
Cytat(kilabdg @ 18.03.2010, 08:31:46 ) *
W związku z tym że z Javą się ostatnio pokłóciłem

Co najwyżęj z javascript a nie javą..nie mylmy pojęć...
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.