Szukaj

Rss Posts

Rss Comments

Login

 

Jak zmienić action formularza za pomocą pola typu RADIO lub SELECT?

Sep 16

Chciałbyś uzależnić adres w action formularza od wyboru konkretnej opcji pola radio lub select w samym formularzu? Poniżej opisałem prosty przykład realizacji tego zadania za pomocą języka JavaScript.

Poniższy przykład przedstawia sposób zmiany action formularza za pomocą opcji w polach typu radio. Kod jest gotowy do użycia na stronie.

<script type="text/javascript">
<!--
function zmienAction(f){
for(var i=0;i<f.opcja.length;i++) {
if(f.opcja[i].checked) {
f.action=f.opcja[i].value;break
}
}
}
//–>
</script>

<form name="zamow" action="zamowienie.php" method="post" onsubmit="zmienAction(this)">
<input type="radio" name="opcja" value="zamowienie.php" checked> 1. Zamów<BR>
<input type="radio" name="opcja" value="rezygnacja.php"> 2. Zrezygnuj<BR>
<input type="radio" name="opcja" value="potwierdzenie.php"> 3. Potwierdź<BR>
<input type="submit" value="go" name="send">
</form>

W momencie wysłania formularza o nazwie zamow, wysolywana jest funkcja zmienAction(), sprawdzająca, która opcja w formularzu została wybrana i ustawia jej wartość jako action formularza zamow. Prawda, że proste? Teraz modyfikacja tego przykładu dla opcji w polu typu SELECT

<script type="text/javascript">
<!--
function zmienAction(f){
f.action=f.opcja.value;
}
//-->
</script>

<form name="zamow" action="zamowienie.php" method="post" onsubmit="zmienAction(this)">
<select name="opcja">
<option value="zamowienie.php">Zamów</option>
<option value="rezygnacja.php">Zrezygnuj</option>
<option value="potwierdzenie.php">Potwierdź</option>
</select>
<input type="submit" value="go" name="send">
</form>

Powyższy przykład działa analogicznie do poprzedniego i nie wymaga dodatkowego komentarza.

Podziel się z innymi: Te ikonki pozwalają łatwo podzielić się tym artykułem z innymi za pośrednictwem serwisów społecznościowych
  • Wykop
  • Gwar
  • Technorati
  • Digg
  • del.icio.us
  • NewsVine
1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (1 votes, average: 5 out of 5)
Loading ... Loading ...


2 Comments

Add your comment

  1. krzysiek
    Nov 22 at 14:01

    Nie działa…

  2. pukas
    Nov 22 at 23:36

    A rzeczywiście! Dzięki za czujność - przy przenosinach artykułu uciekło kawałek pętli z pierwszego przykładu. Poprawiłem skrypt i już działa.

Post a comment