Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z oskryptowaniem akcji przycisku - laik
Forum PHP.pl > Forum > PHP
gonzo09
Witam. Jeśli chodzi o php jestem totalnym laikiem -robię stronę w html i mam nastepujący problem. Mam w pliku .php stworzony formularz a w nim takie pole wyboru:

  1. <td>Coś tam coś tam:</td>
  2. <td><select name="formModel">
  3. <option id="1" selected="selected">cos tam cos tam</option>
  4. <option id="2">cos tam cos tam</option>
  5. <option id="3">cos tam cos tam</option>
  6. </select></td>
  7. </tr>


piszę obsługę zdarzenia dla przycisku
  1. <td><input type="button" value="KUP NA RATY !!" onclick="raty()" /></td>
który też znajduje się w tym formularzu i niewiem jak napisać skrypt (obojętnie czy js czy php) żeby w zależności od wybranej opcji (id) w formularzu przycisk kierował do innego adresu strony.

Czy mógłby ktoś podrzucić jakiś szkielet skryptu aby to osiągnąć? Szukałem w sieci ale ciężko znaleźć akurat taki konkretnie problem. Pozdrawiam
radziopoke
ja to bym zrobił tak.
po pierwsze zamiast name="formModel" wpisałbym id="formModel"
po drugie zamiast option id="1" wpisałbym option value="1" i kolejne wartości też
po trzecie w funkcji raty() wystarczy sprawdzić warunkiem if jaką wartość ma document.getElementById('formModel').value
a po sprawdzeniu jaką posiada wartość przekierować na odpowiednią stronę(to jak przekierować za pomocą javacript znajdziesz se gdzieś w google gdyż ja z javascripta to większości z jquery korzystam).

I tak ogólnie to nie widzę w tym nic z php oprócz tego że jest to tylko plik z końcówką php, ale problem był w javascript.
gonzo09
no fakt, że z php tu nie wiele, myślałem, że w skrypcie konieczne bedzie użycie czegoś z php aby się odwołać do tych elementów z listy. A po sprawdzeniu to wywołanie nowego okna i otwarcie w nim strony będzie w języku java nadal?

EDIT: W zasadzie nie mam pojęcia jak to zrobić - jak zdeklarowałem w przycisku skrypt raty() to już oznacza, że będzie to java script czy nie? Chodzi mi o to jak mam zadeklarować funkcję i w którym miejscu strony? Poza tym rozumiem, że poszczególne opcje będą miały swoje value ale skąd skrypt będzie wiedział, która opcja jest wybrana?

  1. function raty() {
  2. if(document.getElementById('formModel').value=="3") window.open("http://google.pl");
  3. else if();
  4. else if();
  5. }


coś takiego? Proszę się nie śmiać bo na prawdę nie znam sie na tym...
Szymad
  1. <form method="POST" action="index.php?redir=true">
  2. <td>Coś tam coś tam:</td>
  3. <td><select name="formModel">
  4. <option id="1" selected="selected">Opcja 1</option>
  5. <option id="2">Opcja 2</option>
  6. <option id="3">Opcja 3</option>
  7. </select></td>
  8. </tr>
  9. </form>

  1. <?
  2.  
  3. if(isset($_GET['redir'])){
  4. //jeżeli jest ustawiony w adresie "redir=true"
  5. switch($_POST['formModel']){ //weź tutaj pole wyboru
  6. case "Opcja 1": header("location: adres"); //jeżeli wybranym będzie Opcja 1 to wyślij nagłówek przekierowujący na adres - location: <a href="http://wp.pl/" target="_blank">http://wp.pl/</a> - na pszykład
  7. break;
  8. case "Opcja 2": header("location: adres");
  9. break;
  10. case "Opcja 3": header("location: adres");
  11. break;
  12. default: header("location: adres"); //niepotrzebne, ale zwyczaj mam biggrin.gif, to jakby ktoś jakimś trafem nic nie wybrał ale normalnie jest wybrane pierwsze albo to co ma cechę SELECTED
  13. break;
  14.  
  15.  
  16. }
  17. }
  18. ?>


questionmark.gif? Moze być?
radziopoke
no ten skrypt powinien zadziałać
Cytat
function raty() {
if(document.getElementById('formModel').value=="3") window.open("http://google.pl");
else if();
else if();
}

ale tak mi się wydaje, że warto by jakbyś pouczył się trochę javascript-a i php, gdyż wtedy na pewno łatwiej strony się tworzy niż co chwilę szukać odpowiedzi smile.gif
gonzo09
właśnie się uczęwink.gif Dzięki za pomoc już ogarnąłem! Piona
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.