Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wybranie wartości pola select
Forum PHP.pl > Forum > Przedszkole
iVorIus
Witam,
piszę skrypt rejestracji i napotkałem problem przy ponownym ładowaniu się formularza - przeładowanie do poprawy błędów w formularzu, gdy wysyłam formularz po raz drugi, pola input nie tracą swojej wartości, natomiast wszystkie select tak.
Chciałbym aby po ponownym przesłaniu danych, były zaznaczone wcześniej podane option'y.
Pierwszy select to data urodzenia - myślałem o pętli for i porównaniu option z wcześniej wpisaną wartością - przy wykonywaniu pętli ich porównanie i zaznaczenie option, gdy wartości są takie same, lecz w praktyce to nie zadziałało.
Drugie pole wyboru to ciąg znaków, od 2 do 4, tutaj chciałem skorzystać z tablicy asocjacyjnej i do poszczególnych znaków przypisać klucz numeryczny i tak jak w poprzednim przykładzie porównanie go z wartością wcześniej wprowadzoną, lecz na planowaniu się skończyło..

Bardzo proszę o pomóc, za którą z góry Dziękuje, Ivorius.
iVorIus
Cytat(iVorIus @ 28.05.2009, 15:27:47 ) *
gdy wysyłam formularz po raz drugi, pola input nie tracą swojej wartości, natomiast wszystkie select tak.


Wszystkie input'y chodzą dobrze, mówimy o select'ach.
seth-kk
nie jestem pewien czy da sie prosciej ale napewno mozesz za selectem wypluc js w stylu
  1. <script type="text/javascript">
  2. document.getElementById('select1').value='<?= $_POST['select']; ?>';
#luq
Najprościej obrazując, coś w stylu:

  1. <?php
  2. $selValue = array( 'foo', 'bar' );
  3. ?>
  4.  
  5. <form action="" method="post">
  6. <select name="sel1">
  7.  
  8. <?php
  9. $cnt = count( $selValue );
  10. for( $i = 0; $i < $cnt; $i++ ){
  11. $sel = ( $_POST['sel1'] == $selValue[$i] ) ? 'selected="selected"' : '';
  12. echo '<option '.$sel.' value="'.$selValue[$i].'">'.$selValue[$i].'</option>';
  13. }
  14. ?>
  15.  
  16. </select>
  17. <input type="submit" value="Go" />
  18. </form>
iVorIus
Ale pole wyboru select nie ma atrybutu 'value', jedynie option można przypisać atrybut 'selected', i musi to być rozwiązanie w php.

Dziękuje za odpowiedź, w ciągach znaków pomogło, i tak jak przypuszczałem było to array winksmiley.jpg

Tylko męczę się jeszcze z liczbami..
Tworzę około 50 liczb za pomocą pętli for.

Edit:

Okej, już wszystko zrobione, Dziękuje za odpowiedzi winksmiley.jpg)
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.