Moi elikkäs miten voisin tarkistaa lomakkeesta että ainakin yksi "CHECKBOX" olisi valittuna javascriptin avulla? Lisään tuohon alle minun HTML osion jos apua saisi. Olen monta eri tapaa yrittänyt mikään ei ole toiminut.
<form id="formi" action="index.html" method="post">
<div class="lomakkeet">
<label for="onkoMatelijaa"><b>Onko sinulla matelijaa ja jos on niin millainen?</b></label><br><br>
<input id="onkoMatelijaa_ei" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_ei">Minulla ei ole omaa matelijaa</label><br>
<input id="onkoMatelijaa_kaarme" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_kaarme">Käärme</label><br>
<input id="onkoMatelijaa_lisko" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_lisko">Lisko</label><br>
<input id="onkoMatelijaa_sammakko" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa">Sammakko</label><br>
<input id="onkoMatelijaa_kilpikonna" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_kilpikonna">Kilpikonna</label><br>
<input id="onkoMatelijaa_muu" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_muu">Jokin muu:</label><br>
<label for="lisatietoja">Mikä?</label><br>
<textarea id="tekstiKentta" name="lisatietoja" rows="8" cols="60" placeholder="Kerro tässä muista mahdollisista omistamistasi lemmikeistäsi"></textarea><br>
<br>
</div>
<div class="buttons">
<button type="button" name="laheta" onclick="tarkista(formi)">Lähetä</button>
</div>
<div class="buttons">
<button type="reset" name="tyhjenna" onclick="tyhjenna()">Tyhjennä</button>
</div>
</form>
<form id="formi" action="index.html" method="post">
<div class="lomakkeet">
<label for="onkoMatelijaa"><b>Onko sinulla matelijaa ja jos on niin millainen?</b></label><br><br>
<input id="onkoMatelijaa_ei" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_ei">Minulla ei ole omaa matelijaa</label><br>
<input id="onkoMatelijaa_kaarme" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_kaarme">Käärme</label><br>
<input id="onkoMatelijaa_lisko" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_lisko">Lisko</label><br>
<input id="onkoMatelijaa_sammakko" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa">Sammakko</label><br>
<input id="onkoMatelijaa_kilpikonna" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_kilpikonna">Kilpikonna</label><br>
<input id="onkoMatelijaa_muu" type="checkbox" name="onkoMatelijaa_vastaus" value="">
<label for="onkoMatelijaa_muu">Jokin muu:</label><br>
<label for="lisatietoja">Mikä?</label><br>
<textarea id="tekstiKentta" name="lisatietoja" rows="8" cols="60" placeholder="Kerro tässä muista mahdollisista omistamistasi lemmikeistäsi"></textarea><br>
<br>
</div>
<div class="buttons">
<button type="button" name="laheta" onclick="tarkista(formi)">Lähetä</button>
</div>
<div class="buttons">
<button type="reset" name="tyhjenna" onclick="tyhjenna()">Tyhjennä</button>
</div>
</form>
Vastaukset 1
Vanhimmat
Kokeile ajaa alla oleva esimerkki, jos sitä kautta löydät johtolangan pään tehtävääsi.
<p>Valitse lemmikkisi:</p>
<p><label for="lemmikki-1"><input type="checkbox" name="onkoMatelijaa_vastaus" value="kilpikonna" id="lemmikki-1" />Kilpikonna</label></p>
<p><label for="lemmikki-2"><input type="checkbox" name="onkoMatelijaa_vastaus" value="käärme" id="lemmikki-2" />Käärme</label></p>
<p><label for="lemmikki-3"><input type="checkbox" name="onkoMatelijaa_vastaus" value="sammakko" id="lemmikki-3" />Sammakko</label></p>
<button id="subtn">Näytä lemmikit</button>
<h3 id="tulos"></h3>
<script>
function getSelectedCheckboxValues(name) {
const checkboxes = document.querySelectorAll(`input[name="${name}"]:checked`);
let values = [];
checkboxes.forEach((checkbox) => {
values.push(checkbox.value);
});
if(typeof(values[0]) != "undefined") {
document.getElementById("tulos").innerText="Vähintään yksi lemmikki on valittu!";
document.getElementById("tulos").style.color="green";
} else {
document.getElementById("tulos").innerText="Ei lemmikkejä!";
document.getElementById("tulos").style.color="red";
}
}
const subtn = document.querySelector("#subtn");
subtn.addEventListener("click", (event) => {
getSelectedCheckboxValues("onkoMatelijaa_vastaus");
})
</script>