Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-02-29 10:25:43

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

pytanie odnośnie selecta

Witam! mam takie pytanie zapewne banalne a jednak nie dokońca.
chodzi mi o zwykłą liste wyboru jaką jest html-owskie select.
Dokładnie:
mam kod wyboru:
<select name="zmienna">
    <option>
    <option>opcja nr 1
    <option>opcja nr 2
    </select>

i w czym problem??
Niewiem jak to zgrać z if-em albo switchem ( php) żeby po wyświetleniu strony,
i dopiero po wybraniu np opcja nr 1 z listy wykonał się jakis skrypt, czy wyświetlił jakis napis?
Czyli - wybieram opcja nr 2 i poniżej wskakuje mi np napis "DOBRZE", wybieram opcja nr 1 - wyskakuje mi
napis "JESZCZE LEPIEJ". (czyli samo wybranie opcji aktywuje wykonanie jakiegoś kodu - bez ingerencji przycisków czy czegoś w tm stylu)


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2008-02-29 11:42:10

  grzegorz.85 - Członek DUG

grzegorz.85
Członek DUG
Skąd: Ostrołęka
Zarejestrowany: 2007-07-12
Serwis

Re: pytanie odnośnie selecta

Jeżeli strona może się w całości przeładować to proponuje takie rozwiązanie:

form.htm

Kod:

<form action="adres.php" method="GET">
  <select name="zmienna">
    <option value="1" onClick="submit()">jeden</option>
    <option value="2" onClick="submit()">dwa</option>
    <option value="3" onClick="submit()">tsy</option>
  </select>
</form>

adres.php

Kod:

<?php
  switch ($_GET['zmienna']) {
    case 1:
      echo "wybrano opcje <b>jeden</b>";
      break;
    case 2:
      echo "wybrano opcje <b>dwa</b>";
      break;
    case 3:
      echo "wybrano opcje <b>tsy</b>";
      break;
    default:
      echo "wybrana opcja jest niepoprawna";
  }
?>

Jeżeli nie chcesz, aby strona sie przeladowala, to pozostaje tylko javascript czy AJAX.

Ostatnio edytowany przez grzegorz.85 (2008-02-29 11:43:20)

Offline

 

#3  2008-02-29 14:12:33

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: pytanie odnośnie selecta

Ja tam się nie znam, ale:

porneL napisał(-a):

Jeśli nie wiesz, czy dobrze używasz formularzy, to poszukaj „submit()” — jeśli masz go w kodzie, to źle używasz formularzy.

-- http://pornel.net/onclick#sec71

Offline

 

#4  2008-02-29 15:34:22

  grzegorz.85 - Członek DUG

grzegorz.85
Członek DUG
Skąd: Ostrołęka
Zarejestrowany: 2007-07-12
Serwis

Re: pytanie odnośnie selecta

Cały akapit:

porneL napisał(-a):

Jeśli nie wiesz, czy dobrze używasz formularzy, to poszukaj „submit()” — jeśli masz go w kodzie, to źle używasz formularzy. Do sprawdzania poprawności fomularzy służy zdarzenie onsubmit elementu <form>. Wystarczy zwrócić false, żeby przerwać wysyłanie formularza.

<form onsubmit="return sprawdz_formularz(this)">

Nie wyjęte z kontekstu wskazuje inny sens. Widzimy tutaj, że porneL mial na myśli sprawdzanie poprawnosci formularza.

porneL napisał(-a):

Do wysyłania formularzy nie używaj onclick na polach <input>, ani <a>. Tylko stare babcie klikają myszą na przyciski, a reszta używa klawisza enter i omija wszelkie tego typu wynalazki.

Tutaj jest bardziej odpowiedni cytat, z tym że bezpośrednio nie ma z nim wspomnianego SELECT. Aby wykonać to, czego zarzyczył sobie debbie widzę tylko i wyłącznie takie rozwiązanie (no i wspomniane przeze mnie wczesniej). Ewentualnie można upgrejdować dodając dodatkowy przycisk wysyłania.

Kod:

<form action="adres.php" method="GET">
  <select name="zmienna">
    <option value="1" onClick="submit()">jeden</option>
    <option value="2" onClick="submit()">dwa</option>
    <option value="3" onClick="submit()">tsy</option>
  </select>
  <input type="submit" value="Dalej" />
</form>

I jeszcze jedno... Jeżeli uważasz mój sposób za zły, to zaproponuj inny, bardziej poprawny, może i ja się czegoś nauczę :)

Offline

 

#5  2008-02-29 17:25:21

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: pytanie odnośnie selecta

grzegorz.85 napisał(-a):

I jeszcze jedno... Jeżeli uważasz mój sposób za zły, to zaproponuj inny, bardziej poprawny, może i ja się czegoś nauczę :)

Sam zaproponowałeś — przycisk służący do wysyłania formularza.

Jeżeli ktoś za wszelką cenę musi niepokoić użytkownika pojawiającymi się napisami gdy tylko wybierze on jakąś opcję, można sprawdzać która opcja została wybrana (przy pomocy wspomnianego onClick chociażby) i na tej podstawie wyświetlać odpowiedni tekst w odpowiednim miejscu. Kilka dni temu na tym forum przerabiany był temat dostępu do treści znacznika <select> po wybraniu elementu, nie widzę powodu żeby nie skorzystać.

Ale, jak zaznaczyłem na samym początku mojego poprzedniego postu, ja się nie znam.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)