Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> nietypowy formularz JS+PHP
rav_83
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.03.2005

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


mam formularz, w ktorym pole select po wybraniu jakiejs dowolnej wartosci dubluje sie. W tym momencie, user po wybraniu z selecta koloru, np. czerwonego od razu widzi ponizej identyczny select i moze jeszcze wybrac kolor niebieski itd.. itd..
Problem pojawia sie przy przesylaniu zmiennych z tego formularza do skryptu php. Normalnie zmienne wysylam metoda GET jako nazwy pol formularza. Jednak w tym przypadku, select dotyczacy koloru ma tylko jedna nazwe, a user mogl tych kolorow wybrac np 3, czyli teeoretycznie powinny byc 3 zmienne. Teoretycznie, bo jest tylko jedna.

Jak wiec przeslac do skryptu .php kilka zmiennych z pola formularza o jednej nazwie ?

ponizej zamieszczam JS odpowiedzialny za dublowanie pol formularza

  1. <script type="text/javascript">
  2. <!--
  3. function changeMultipleFieldRemove(field) {
  4. if(!field.value) {
  5. row=field.parentElement.parentElement;
  6. table=field.parentElement.parentElement.parentElement;
  7. table.deleteRow(row.rowIndex);
  8. }
  9. }
  10.  
  11. function changeMultipleField(field) {
  12. if(field.value) {
  13. fieldCopy=field.parentElement.innerHTML
  14. row=field.parentElement.parentElement;
  15. table=field.parentElement.parentElement.parentElement;
  16. //ADD NEW ROW WITH FIELD
  17. newRow=table.insertRow(-1)
  18. newCell=newRow.insertCell(0)
  19. newCell.innerHTML=fieldCopy;
  20. fieldNew=newCell.children[0];
  21. fieldNew.selectedIndex=0;
  22. field.onchange=function(){changeMultipleFieldRemove(field)};
  23.  
  24. //alert(fieldCopy);
  25. //alert(field);
  26. }
  27. }
  28. //-->
  29. </script>
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nadaj dla selecta nazwę z nawiasami kwadratowymi (np. ala[]), spowoduje to, że dostaniesz pod zmienna ala tablicę wartości z każdego selecta


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
rav_83
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.03.2005

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


no wlasnie w ten sposob myslalem.. ale jak dokladnie bedzie sie nazywac ta tablica? i jak nazywac sie beda te zmienne?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no tablica bedzie się nazywać tak jak napisalem, czyli np. ala zrobisz $_GET['ala'] lub $_POST['ala'] (zalezy jak bedziesz to wysylal) i juz maz tablicę selectów. Będzie miala ona indexy od 0 do iloscselectów-1. index 0 to pierwszy select wkolejnosci wystepowania na stronie, index 1 to kolejny itd.
Proponuje Ci taką metodę, bo ty kopiujesz w calosci komórkę tabeli z selectem łączie z nazwą. Przy takiej metodzie raczej nie widzę innej mozliwości. Gdybyś mógł się dobrać do nazwy select'a to co innego, ale tak pozostaje chyba tylko to


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
rav_83
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.03.2005

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


no wiec pokolei.
1) nazywam selecta:
  1. <select name="dzielnica[]" style="font-family: Verdana; font-size: 8pt">


i nastepnie przesylam zmienne do skryptu php metoda GET oraz 'odbieram' te zmienne:
  1. <?php
  2.  
  3. if(is_string($_GET['dzielnica'])) 
  4.  $tablica=$_GET['dzielnica'];
  5.  else
  6. die('Błąd: -- cos nie tak z ta dzielnica!');
  7.  
  8. PRINT &#092;"<br>\";
  9. echo $tablica
  10.  
  11. ?>
;

skrypt sie wykrzacza, co robie zle?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$_GET['dzielnica'] nie jest string a tablicą, więc funkcja is_string($_GET['dzielnica']) zwraca cie false. Pisalem przeciez ze otrzymasz tablicę. Proszę czytać posty dokładnie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 21.08.2025 - 18:20