Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML + PHP] Przycisk clear i ustawianie listy rozwijalnej
MySQL
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 4
Dołączył: 3.06.2008

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


Temat może mało mówi więc tłumaczę:
Mam formularz a w nim (w wielkim skrócie):
  1. <form class="rej" action="registration.php" method="post">
  2. <!-- ... -->
  3. <select id="fr_v" name="v_id">
  4. <option value="1">Wartość 1</option>
  5. <option value="2" selected="selected">Wartość 2</option>
  6. <option value="3">Wartość 3</option>
  7. </select>
  8. <!-- ... -->
  9. <input type="checkbox" name="fr_accept" id="fr_accept" value="1" onclick="this.form.elements['butSub'].disabled = !this.checked" />
  10. <label for="fr_accept">Zgadzam się na warunki rejestracji</label>
  11. <!-- ... -->
  12. <input class="botRes" type="reset" value="Wyczyść" />
  13. <input class="botSub" type="submit" name="butSub" disabled="disabled" value="Zarejestruj" />
  14. </form>


Całość jest w PHP. Jest to fragment formularza rejestracji. Zrobiłem go tak, że jeżlei użytkownik już wszystko wypełni ale zdaży się, że coś źle wypełni np. pole imie będzie mieć niedopuszczalne znaki, to po naciśnięciu przycisku "Zarejestruj" znowu otworzy się strona z formularzem ale te pola z wartościami, które były poprzednio dobrze wpisane zostaną uzupełnione automatycznie. W tym przykłądzie wybrano pozycję nr 2 z listy rozwijalnej. Zatem po próbie wysłania otworzył się znów formularz i domyślnie pozycja druga została dodatkowo opatrzona atrybutem selected="selected".

Teraz chciałbym, aby po naciśnięciu przycisku Wyczyść lista ustawiła się na pozycję pierwszą. Tego nie umiem zrobić (nie wiem czy jest to nawet wykonalne), gdyż po naciśnięciu przycisku "Wyczyść" pozycja ustawia się na tą, która jest opatrzona atrybutem selected. I to mnie w zasadzie nie dziwi bo tak działa właśnie przycisk z typem "reset".

---------------------------------------
A to jest moje rozwiązanie tej listy select w PHP (czyli tak jak wygląda obecnie u mnie w skrypcie):
  1. <select id="fr_v" name="v_id">
  2. <?php
  3.  $sql = 'SELECT v_id, v_rank
  4.    FROM rank';
  5.  $r = mysql_query($sql);
  6.  while($z = mysql_fetch_row($r))
  7.  {
  8.    echo '<option value="'.$z[0].'"';
  9.    if(isset($_POST['v_id']) && $_POST['v_id'] == $z[0])
  10.    {
  11.      echo ' selected="selected"';
  12.    }
  13.    echo '>'.$z[1].'</option>'."\n";
  14.  }
  15. ?>
  16. </select>


Ten post edytował MySQL 23.05.2009, 20:27:25
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: 20.12.2025 - 17:35