Diskuze: Přepnutí radioboxu dle příjmení
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, zkus tohle (živá ukázka).
HTML:
<form name="nova" action="system/zpracovat.php" method="post" onsubmit="return overit(this)">
<input type="radio" value="m" name="pohlavi">Muž
<input type="radio" value="f" name="pohlavi">Žena
<input type=text name="prijmeni" autocomplete="off">
JavaScript:
window.onload = function() {
var radio = document.getElementsByName('pohlavi');
document.getElementsByName('prijmeni')[0].onkeyup = function() {
var aktivni = this.value.indexOf('ová') > -1; // Pokud je nalezen řetězec "ová", podmínka vrátí 1, jinak 0.
radio[+aktivni].checked = true; // V závislosti na předchozí podmínce se zaškrtne 2. nebo 1. radio.
}
}
Jo supr, funguje to, jen jsem jeste nedomyslel, ze se radio (zena) ma
zaskrtnout pouze, kdyz je retezec "ová" na konci. Takhle bych udelal treba z
pana Nováka zenu, coz by nemuselo bejt zrovna idealni Je na to nejaka funkce?
V tom případě už jen stačí změnit řádek:
var aktivni = this.value.indexOf('ová') > -1; // Funkce, která vrátí pozici podřetězce kdekoliv v řetězci.
na:
var aktivni = /ová$/.test(this.value); // Regulární výraz, který testuje, zda se na konci řetězce nachází "ová".
Zobrazeno 5 zpráv z 5.