Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Resetowanie pola select po bledzie
Spooky2
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.06.2007

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


Mam taki problem - pierwszy raz to robie i nie bardzo wiem jakiej funkcji uzyc. Mam pole select w formularzu
Teraz jeśli user cos tam wybierz, np piate pole, ale nie uzupelni jakiegos elementu formularza - pojawi sie komunikat i formularz "wyczysci sie". O ile z wartosciami pol input nie mam problemu, o tyle, nie wiem jak "zachowac" wartosc pola select uprzednio wybrana przez usera.

w koncu select moze wygladac tak
<option value="imie">IMIE USERA</option>
<option value="nazwisko_usera">NAZWISKO</option>
itd

selecta produkuje w petli - stworzylem tablice("imie' => 'IMIE USRA', 'nazwisko_usera' => 'NAzWISKO') itd
Jesli zrobie array_diff($tablica, $tablica_wyb_pola) gdzie $tablica_wyb_pola zawiera wybrane przez uzytkownika pole otrzymam ladnie tablice bez tegoz pola... czyli wystarczyloby wstawic na pierwszym miejscu tej "nowej tablicy" brakujacy klucz wraz z wartoscia... klucz teoretycznie mam (pole wybrane przez usera) nie mam jednak wartosci do niego przypisanej...
Moze przekombinowalem, ale nie wiedzialem jak sie a to inaczej zabrac :-) Jak sie robi takie rzeczy? ;-)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Berg
post
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 37
Dołączył: 1.05.2008
Skąd: Białystok

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


O ile dobrze zrozumiałem to chcesz wyświetlić uzupełniony formularz w przypadku wystąpienia jakiegoś błędu, masz jednak problem z selectem. Jeśli masz opcje upchnięte w tablicy to przy renderowania opcji można sprawdzić czy dana opcja została zaznaczona, rozwiązanie dla selecta bez multiple:

  1. <?php
  2. $array_select = array('imie' => 'IMIE USERA', 'nazwisko' => 'NAZWISKO USERA');
  3.  
  4. $select_isset = ((!empty($_POST['form_select']))?true:false);    // Sprawdza czy wysłano formularz z uzupełnionym select
  5.  
  6. echo '<select name="form_select">';
  7.  
  8. foreach($array_select as $key => $value) {    // renderowanie każdej z opcji, przy okazji sprawdzenie czy dana opcja została zaznaczona
  9.    
  10.    if($select_isset && $_POST['form_select'] == $key) {    // Zaznaczono właśnie te pole
  11.        
  12.        echo '<option value="'.$key.'" selected="selected">'.$value.'</option>';
  13.    }
  14.    else {    // Tego pola nie zaznaczono
  15.        
  16.        echo '<option value="'.$key.'">'.$value.'</option>';
  17.    }
  18. }
  19.  
  20. echo '</select>';
  21. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 10:03