JavaScript 3. Formuláře

Výběrové políčko - INPUT type='RADIO'

Ilustrativní foto

Zpracování políčka radiobutton

ZKUSTE SI

S políčkem radiobutton je to oproti checkboxu

  • podobné v tom, že mají stálou hodnotu bez ohledu na zaškrtnutí, a
  • složitější v tom, že "tvoří pojmenovanou (name) skupinu" a pracuje se s celou skupinou.
ZKUSTE SI

Práce s radiobuttony v JS vyžaduje práci s polem a cyklem forEach.
Ukázali jsme si to na záveřečné stránce kapitoly Fotogalerie.

Můžeme si (stejně jako u checkboxu) pomoci speciální funkcí (které nemusíme nutně rozumět :)

ZKUSTE SI

Funkce bude vypadat takhle:

function hodnotaRadio(jmenoRadio) {
  const policka = document.getElementsByName(jmenoRadio) ;
  for (const policko of policka) {
    if (policko.checked) {
      return policko.value ;
    }
  }
  return "" ;
}

S touto funkcí budeme pracovat analogicky jako s funkcí pro checkbox:

Nakopírujeme ji do JS souboru a použijeme (např.) následujícím způsobem:

vysledek.innerHTML = hodnotaRadio("r") ;

Konkrétně následující kód

  • využívá naši funkci,
  • sleduje změny jednotlivých voleb radiobuttonu se jménem name="r" a
  • při změně zapíše hodnotu radiobuttonu do výstupního divu:
document.getElementsByName("r").forEach( function(element) {
  element.addEventListener("change", function() {
    vystup.innerHTML = hodnotaRadio("r") ;
  });
});
ZKUSTE SI

Zkuste si to i sami v replu.

  Předchozí stránkaNásledující stránka