Skocz do zawartości

Witamy na polskim forum Contao
Zarejestruj się teraz, aby skorzystać ze wszystkich funkcji forum. Kiedy się zalogujesz, będziesz mógł tworzyć tematy, pisać posty, rozdawać punkty reputacji, korzystać z prywatnych wiadomości i zarządzać swoim profilem. Jeśli posiadasz już konto, zaloguj się - w przeciwnym wypadku zarejestruj się już teraz!
Zdjęcie

Submit do koszyka w dwóch wariantach


  • Zaloguj się, aby dodać odpowiedź
7 odpowiedzi w tym temacie

#1
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów

Witam

Mam taki problem - mam dwa rodzaje produktów w sklepie. Każdy z nich należy do innego typu produktu (inne strony listy itd.).

Chciałbym zrobić rzecz następującą - listuję opcje dla produktu X, skąd mogę dodać go do koszyka, ale zanim kliknę na submit mam checkbox (radiobutton) który informuje mnie czy nie chcę również kupić produktu Y. Jeśli nie zaznaczę tego checka to normalnie dodaję produkt X i przechodzę automatycznie do koszyka, ale jeśli zaznaczę checka to produkt X jest dodawany do koszyka ale nie przenosi mnie na stronę koszyka tylko na stronę z listą produktu Y, gdzie mogę wybrac jego opcje i dorzucić do koszyka.

 

Wymyśliłem że najprościej będzie chyba pomanipulować przy:

<form action="<?php echo $this->action; ?>"  />

czyli jeśli nie zaznaczę checka to mam jak tu, ale jeśli go zaznaczę to zmienia mi tą wartość akcji formularza na strone którą zdefiniuję, choćby wpisze na stałe.

 

Kominuję z javascript - wyszukuje div z odpowiednim id w którym jest umieszczony mój radiobutton, sprawdzam czy zaznaczony, jeśli jest to jakaś akcja, ale ... wszystko działa jesli kod javy jest umieszczony w tym właśnie div, jeśli umieszczę go powiedzmy na górze strony w templatce lub w szablonie, niestety nie wyszukuje mi tego kontenra w całym dokumencie :(.

Gdybym mógł namierzyć ten check dla całego dokumentu, mógłbym sprawdzać czy jest zaznaczony i jeśli tak to pod odpowiednią zmienną umieszczoną w akcji formularza przypisywać strony do których chcę skakać.

Tak byłoby najprościej i najwygodniej dla mnie....

 

Pytanie brzmi - jak w całym dokumencie namierzyć kontener z radiobutton w środku, lub sam radiobutton...


  • 0

#2
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski

Zapodaj kod JS ;)


  • 0

Codefog - Contao web development


#3
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
 $$('zadruk').getElements('input[type="radio"]'.addEvent('click', function(){
 if ($(this).get('checked'))
 {
                          $sub = ('index.php/kontakt.html');
                           window.alert($sub);
 }
 else
 {
                          $sub =  '<?php echo $this->action; ?>';
                          window.alert($sub);
 }
});


  • 0

#4
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski

Spróbuj tak:

$$('zadruk')
// podmień na
$$('input[type="radio"]')
// lub
$$('.radio_container .radio');

  • 0

Codefog - Contao web development


#5
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów

Niestety żaden z tych nie działa "dla całego" dokumentu :(

Próbowałem również

$$('input[name=zadruk]').addEvent('click', function()){

też nic. Jesli kod umieszczam w tym divie to hula, ale jak chce mieć te zmienne dostępne dla całego dokumentu...


  • 0

#6
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów

A może jakiś inny pomysł jak zmienić stronę na którą przeniesie mnie formularz po submit ??


  • 0

#7
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski

To, czy umieścisz skrypt w <div> czy nie to nie powinno mieć żadnego znaczenia, chyba że ten <div> jest ładowany przez AJAX?


  • 0

Codefog - Contao web development


#8
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów

Raczej nie.

Jak umieszczę ten kod w kontenerze właściwym to działa, wyświetla mi ładnie i pod zmienną $sub mi wpisuje.

W takim razie jak tą zmienną javową użyć w akcji formularza? Czyli jak ją ożenić z php w tym miejscu:

<form action="<?php echo $this->action; ?>"  />

  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych użytkowników