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

Sprawdzenie czy radiobutton został zaznaczony

checked radiobutton

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

#1
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Witam
Mam takie pytanie: jak sprawdzić czy dany radio button jest zaznaczony, ale przed wysłaniem formularza?
Przed wysłaniem chicałbym mieć możliwość pokazać jednego <div> a innego ukryć, w zalezności czy włącze radiobutton czy nie. Używam tego w Isotope przy wyświetlaniu atrybutów, i po kliknieciu w radiobuttona pokazuje się info "Ładuję informację o produkcie..." (to chyba jakaś Ajaxowa metoda) więc w tym miejscu chciałbym wywołać jakies dodatkowe zdarzenie, typu wyświetlić inną warstwę niż standardowo.

Dzięki z góry za podpowiedzi.
  • 0

#2
Kamil

Kamil

    Contao ambassador

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

<script>

window.addEvent('domready', function(){

  var id_selected = $$('input[type=radio]:checked').get('id');

});

</script>


  • 0

Codefog - Contao web development


#3
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Dzięki Kamil,
rozumiem że jak radiobutton zostaje zaznaczony to ustawiana jest zmienna id_selected ??
  • 0

#4
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Ach, to inaczej ;)

$$('input[type​​​​​​​=radio]').addEvent('change', function() {
	alert(this.get('id'));
});​​​​​​​​​​

  • 0

Codefog - Contao web development


#5
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Dzięki raz jeszcze, ale mógłbyś mi wyjaśnić ten ostatni zapis?
Wydaje się ze nei działa ? :(
  • 0

#6
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
http://jsfiddle.net/jk22y/ - tylko nie zapomnij to dać wszystko w addEvent('domready') ;)
  • 0

Codefog - Contao web development


#7
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
To następne pytanie:
$$('input[type=radio]').addEvent('change', function() {
	    alert(this.get('id'));
});
wyświetla proste okno. Na stronie mam kilka "grup" radiobuttonów (np dla ilości i dla jakości), więc jak ten kod zmodyfikować, żeby wskazać input type radio po name lub id ??
  • 0

#8
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Spróbuj tego http://www.w3schools...e_selectors.asp
  • 0

Codefog - Contao web development


#9
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Hmmmm przepraszam że męczę, ale java to czarna magia :(
Daję takie cuś
<script>
window.addEvent('domready', function(){
$$('input[type​​​​​​​=radio]').addEvent('change', function() {
	    alert(this.get('id'));
});​​​​​​​​​​
});
</script>

na stronie gdzie mam moje raiobuttony i niestety nie hula :(
  • 0

#10
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
A czy masz może to online? tak by było o wiele prościej rozwiązać problem :)
  • 0

Codefog - Contao web development


#11
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Właśnie nie :(. Wszystko na localu.
Jest tak:
Mam stworzone dwa atrybuty w Isotope: Ilość i zadruk
Wyświetlam je stosując:
echo $this->options[ilosci][html];
echo $this->options[zadruk]['html'];

W źródle strony mam:
<fieldset id="ctrl_zadruk_fmd11_product_1" class="radio_container"><legend>Zadruk Etykiet</legend><input type="hidden" name="zadruk" value="" /><span><input type="radio" name="zadruk" id="opt_zadruk_fmd11_product_1_0" class="radio" value="zadruk" /> <label id="lbl_zadruk_fmd11_product_1_0" for="opt_zadruk_fmd11_product_1_0">zadruk</label></span><span><input type="radio" name="zadruk" id="opt_zadruk_fmd11_product_1_1" class="radio" value="zadruk2" /> <label id="lbl_zadruk_fmd11_product_1_1" for="opt_zadruk_fmd11_product_1_1">zadruk</label></span>...

Ilości liczą mi się z automatu, natomiast cena końcowa uzależniona jest od tego czy stosuję zadruk czy nie (x2). Chciałem zrobić prostą operację - w momencie gdy radiobutton jest włączony pokazuję div 1 a jak nie to div 2.

Tu może problem jest taki że przy kliknięciu w radio wywołuje sie jakaś AJAXowa funkcja, która wyświetla "ładowanie produktu".

Firefoxowy debugger pokazuje mi że przesyła token i
[Object { id="fmd11_product_1_price", html="<div class="iso_attribu...>PLN</span> 35.91</div>"}]

  • 0

#12
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
W pliku AttributeWizard.php znalazłem to miejsce:
<input type="radio" name="' . $this->strName . '[' . $arrOption['value'] . '][mandatory]" value="0"' . $this->optionChecked($this->varValue[$arrOption['value']]['mandatory'], 0) . '>

  • 0

#13
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Dziwne dziwne. Może przenieś sklep na testowy serwer online, to coś poradzimy :)
  • 0

Codefog - Contao web development


#14
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Ok, myślę że pod koniec tyg uda mi się to zrobić to podeślę linka. Dzięki za pomoc i chęci :)
  • 0

#15
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Więc tak:
http://www.labelmark...abeloutlet.html tu jest pierwszy krok w którym wybieramy część parametrów, i w nastepnym kroku czyli http://www.labelmark...let-zakupy.html wybieramy ilości i czy chcemy z zadrukiem czy nie, i kolumna o którą mi chodzi to "razem", tu jak zaznaczę radiobutton zadruk chciałbym wywołać zdarzenie, typu podmienienie diva...
  • 0

#16
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
W konsoli w Firebugu dałem kod

$$('input[type=radio]').addEvent('change', function(){ alert(this.get('value')); });
i on działa. Czy kod który wymieniłem na początku dałeś na dole strony?
  • 0

Codefog - Contao web development


#17
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Nie, dałem go tuż nad miejscem gdzie owa podmiana miał być dokonywana...
  • 0

#18
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Kurcze w firebugu faktycznie działa nawet na localu, gdzie zatem powinieniem umieścić skrypt ??
  • 0

#19
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
W szablonie strony - patrz screen.

Załączone miniatury

  • Zrzut ekranu 2012-07-20 o 13.47.13.png

  • 0

Codefog - Contao web development


#20
kylu123

kylu123

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 203 postów
Oko wstawie to wieczorkiem, a Kamil podpowiedz jeszcze jak to dalej mogę ugryźć? Zamiast wyświetlać onko alert chciałbym zrobić coś takigo jak echo w php, czyli jesli nie zaznaczony to div1 a jak zaznaczony to div2. Dobrze myślę?
I kolejna sprawa - na tej stronie jak zauważyłeś są dwie grupy radiobuttonów, jaj teraz je rozróżnić?
  • 0




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

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