Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][js]Dynamiczne dodawanie pól formularza
kilabdg
post 18.03.2010, 08:31:46
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.03.2010
Skąd: Bydgoszcz

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


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!!

Go to the top of the page
+Quote Post
john_doe
post 18.03.2010, 10:08:45
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


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

Ten post edytował john_doe 18.03.2010, 10:10:54
Go to the top of the page
+Quote Post
kilabdg
post 18.03.2010, 11:25:38
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.03.2010
Skąd: Bydgoszcz

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


dzięki, problem rozwiązany smile.gif
Go to the top of the page
+Quote Post
pablo89pl
post 18.03.2010, 11:54:41
Post #4





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


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ęć...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 2.05.2025 - 04:28