Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Niechciane przeładowanie (formularz, select, submit)
Forum PHP.pl > Forum > PHP
roman_g
Witam,

Jak zrobić, żeby po wciśnieciu submit'u, select się nie przeładował, tzn, żeby została w nim zaznaczona opcja, która została zatwierdzona przez submit.
Mam taki kod:
  1. <form name="sel" method="post">
  2. <select name="s1">
  3. <option value="0">-wybierz-</option>
  4. <option value="1">opcja1</option>
  5. <option value="2">opcja2</option>
  6. <option value="3">opcja3</option>
  7. <option value="4">opcja4</option>
  8. <option value="5">opcja5</option>
  9. <input type="submit" value="Wykonaj">
  10. </form>
  11. <?php
  12. print_r($_POST);
  13. ?>
  14. </body>
  15. </html>
Astarot
Najlatwiej bedzie to zrobic w taki sposób jaki przedstawiłem poniżej, jeśli będziesz chciał rozbić formularz na kilka
etapów lub zrobić potwierdzenie z możliwością edycji wczesniej wybranych danych to proponuje zbierać dane
do zmiennych sesyjnych
Kod
echo '<select name="s1">
          <option value="0" name="0"'.(($_POST['s1']==0) ? 'selected="selected"' : '').'>-wybierz-</option>
          <option value="1" name="1"'.(($_POST['s1']==1) ? 'selected="selected"' : '').'>opcja1</option>
          <option value="2" name="2"'.(($_POST['s1']==2) ? 'selected="selected"' : '').'>opcja2</option>
          <option value="3" name="3"'.(($_POST['s1']==3) ? 'selected="selected"' : '').'>opcja3</option>
          <option value="4" name="4"'.(($_POST['s1']==4) ? 'selected="selected"' : '').'>opcja4</option>
          <option value="5" name="5"'.(($_POST['s1']==5) ? 'selected="selected"' : '').'>opcja5</option>
        </select>';
roman_g
ok, dzieki
dokładnie o to mi chodziło;)
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.