Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyświetlanie aktualnej wartości w formularzu
Forum PHP.pl > Forum > Przedszkole
chickenpl
Cześć! Podejrzewam, że rozwiązanie mojego problemu jest banalne, ale jestem początkujący i proszę o wyrozumiałość. smile.gif Oto część kodu:

CODE

<select class="browser-default" name="przyklad">
<option value="1" style="color:#000;">1</option>
<option value="2" style="color:#000;">2</option>
<option value="3" style="color:#000;">3</option>
<option value="4" style="color:#000;">4</option>
</select>


Jest to rozwijany formularz z kilkoma opcjami do wyboru. Problem dotyczy tego, że po wybraniu jednej z opcji, przykładowo 3, zapisaniu zmian i odświeżeniu strony, w tym formularzu pokazywana jest opcja 1. Na stronie, gdzie jest wyświetlana opcja wybrana przez użytkownika, poprawnie widać 3. Jest to na tyle uciążliwe, że w momencie, gdy chce się zmienić tylko jedną opcję, trzeba uzupełniać od nowa cały formularz. Co mam dopisać do kodu, aby w rozwijanym formularzu po wybraniu jednej z opcji wyświetlana była ta aktualna?

Mam nadzieję, że rozumiecie o co mi chodzi, nie potrafię za bardzo tego wytłumaczyć.

Pozdrawiam.
Arcioch
Hej,

Po zapisie danych w php zrób redirect na tę stronę aby przeglądarka nie trzymała formularza w cache smile.gif
Ewentualnie możesz dodać do formularza atrybut autocomplete="off"
chickenpl
Dzięki za szybką odpowiedź! wink.gif

Spróbowałem z atrybutem autocomplete. Umieściłem go tu:

  1. <select class="browser-default" name="przyklad" autocomplete="off">
  2. <option value="1" style="color:#000;">1</option>
  3. <option value="2" style="color:#000;">2</option>
  4. <option value="3" style="color:#000;">3</option>
  5. <option value="4" style="color:#000;">4</option>
  6. </select>


Próbowałem też wstawić obok każdej opcji, za kolorem, ale niestety ani jedna opcja, ani druga, nie pomogły. sad.gif

A propos redirectu, to zapis następuje w JS, bez odświeżania strony.
aras785
Nie wiem czy do końca rozumiem ale spóbuje...

Dane zapisujesz "w tle" czyli ajaxem (domyślam się, że do bazy).
Po zapisaniu naturalnie widać to co wybrałeś ponieważ żadna akcja nie nastąpiła (chyba, że zwrotka z js i automatyczna zmiana).

Jeśli chcesz aby po odświeżeniu formularz dostawał "wybrane dane" to zależności od aplikacji:

1) PHP - pobierasz dane z bazy i zaznaczyasz jeśli się zgadza z formularzem

  1. <select class="browser-default" name="przyklad" autocomplete="off">
  2. <option value="1" style="color:#000;" <?php echo ($dane_baza['przyklad']==1)?'selected':'';?>>1</option>
  3. <option value="2" style="color:#000;" <?php echo ($dane_baza['przyklad']==2)?'selected':'';?>>2</option>
  4. <option value="3" style="color:#000;" <?php echo ($dane_baza['przyklad']==3)?'selected':'';?>>3</option>
  5. <option value="4" style="color:#000;" <?php echo ($dane_baza['przyklad']==4)?'selected':'';?>>4</option>
  6. </select>


2) Jeśli ładujesz czysty formularz i obsługujesz go przy edycji również w JS no to działa tak samo tylko, że pola musisz uzupełnić za pomocą js:
  1. $('select[name="przyklad"]').val(<?php echo ($dane_baza['przyklad']==1)?'selected':'';?>);
  2. itd...

lub pobierasz zmienne ze zwrotki (np. json)
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.