Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]wyświetlanie tabeli w forularzu
eurosoft
post 19.09.2011, 20:13:07
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


mam formularz w którym jest select, po wybraniu właściwego selecta chciałbym wywołać w tle kod zawarty w innym pliku a zwrócony wynik pokazać pod formularzem w formie tabeli
teraz mam tak:
  1. ......
  2. <p align="center">
  3. <form action="dodaj.php" method="post" onsubmit="return validate()";>
  4. <font color="#fcfcfc" size="2"><b>
  5. Nazwisko i imię:<br />
  6. <input type="text" name="imie_nazwisko" title="Nazwisko i Imię " value="<?php if (isset($_SESSION['login'])) echo $_SESSION['login']; ?>" /> <br>
  7. Miejsce <br />
  8. <?php
  9. echo '<select name="miejsce_pol" style="background-color:#FFFF51" onchange="this.style.backgroundColor=\'#FFFFFF\'";>';
  10. echo '<option selected=""></option>';
  11. while($nt=mysql_fetch_array($result))
  12. {
  13. echo '<option value="'.$nt['nr_low'].','.$nt['nazwa_low'].'">'.($nt['nazwa_low']).'</option>';
  14. $dane=explode(',',$_POST['miejsce_pol']);
  15. echo $dane[0];
  16. echo $dane[1];
  17. }
  18. echo '</select>';
  19. ?>
  20. <br>
  21. .......
  22. </form>
  23. //tutaj chciałbym tabelkę która sie w sumie pojawia
  24. include 'sprlow.php';
  25. .........


wstawiałem do linii
echo '<select name="miejsce_pol" style="background-color:#FFFF51" onchange="this.style.backgroundColor=\'#FFFFFF\'";>';
zmienną onchange ale przeładowuje mi forma wypełniając właściwie tabelkę lecz pozostawiając puste pola formularza

proszę o pomoc, dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
peter13135
post 19.09.2011, 20:19:49
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Co to znaczy ma się przeładować w tle ? Chcesz użyć ajaxa ?
Co do "znikających" wartości pól w formularzu - przecież możesz wyświetlić formularz podając w parametrze value początkową wartość formularza.
I co do tego ma zmiana koloru w onchange ?
Być może, Cię nie zrozumiałem, bo piszesz o 3 rzeczach ze sobą nie powiązanych i nie bardzo opisałeś z czym masz problem.


--------------------
:)
Go to the top of the page
+Quote Post
eurosoft
post 19.09.2011, 20:29:22
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


w sumie nie wiem co zastosować może i Ajaxa, ważne aby działało, zmiana koloro jest informację dla usera jakie pola sa wymagane. więc może raz jeszcze:
wybierając pole w selekcie wykonuje się kod zawarty w innym pliku w wyniku czego pod formem wyświetla się tabelka (tu jest ok), ale działa to po zastosowaniu onchange="submit();" jednak wtedy wcześniej wybrane/wpisane/zaznaczone inne pola forma resetują się do pierotnego stanu (są puste).
tak, chyba mi chodzi o przeładowanie w tle :-)
Go to the top of the page
+Quote Post
peter13135
post 19.09.2011, 20:33:38
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


No cóż. Da się i tak i tak. Jak chcesz w tle, to naucz się ajaxa. Polecam frameworka jQuery.
Jak chcesz bez ajaxa, to zrób tak jak pisałem w poprzednim poście.

edit:// na przyszłość pisz bardziej jednoznacznie posty, opisuj dokładnie problem i jaką chcesz otrzymać pomoc.
w swoim kodzie dałeś:
onchange="this.style.backgroundColor=\'#FFFFFF\'"
i to ma niby przeładować forma ?

Ten post edytował peter13135 19.09.2011, 20:35:19


--------------------
:)
Go to the top of the page
+Quote Post
eurosoft
post 19.09.2011, 20:37:51
Post #5





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


no tak ten fragment mógł zmylić forumowiczów, poproawię się ale Ajaxa nie nauczę się teraz, a pierwotne pola forma mam puste, więc dalej ślepa uliczka, jakas większa podpowiedź?
Go to the top of the page
+Quote Post
peter13135
post 19.09.2011, 20:51:21
Post #6





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Cytat
a pierwotne pola forma mam puste

Hehe, że co ?
Spojrzałem w kod dokładniej. Widzę, że masz 2 pola w formularzu. Jedno to pole type="text" i tutaj masz wartość ustawioną wartość początkową.
W polu select również masz ustawioną wartość początkową (selected=""). Szkoda tylko, że nic Ci to nie daje... bo pierwszy option dla selecta jest zaznaczony domyślnie.
Proponuję to wywalić, a wstawić go do tego optiona który był wybrany przez 'wysyłającego formularz".
Widzę, że ciężko u Ciebie z PHP. więc dam Ci prawię gotowca:
  1. while(...)
  2. {
  3. echo '<option ' .($_POST['twójselect']== {value z tego optiona} ? 'SELECTED=""' : '' ) . ' value="tutaj value">tutaj Twój text</option>'
  4. }



Dodatkowo. Twój kod jest bardzo brudny. Po pierwsze, jak początek formularza wyświetlasz bez użycia PHP. to czemu i tego :
  1. echo '<select name="miejsce_pol" style="background-color:#FFFF51" onchange="this.style.backgroundColor=\'#FFFFFF\'";>';
  2. echo '<option selected=""></option>';

nie wyświetlisz samym htmlem ?

Dalej... Html przewiduje, ze po </option> będzie następny znacznik <option> lub koniec listy rozwijanej czyli </select>. Zobacz jak jest u Ciebie.


--------------------
:)
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: 19.07.2025 - 05:21