Autor Zpráva
Taurus
Profil
Po třech dnech trápení se ptám zde – jak zprovoznit funkci "radiobutton"? Vycházel jsem z checkboxu, který mi funguje. Chybu tuším někde v cestě document.formularR.radio.r1.checked. Zkoušel jsem hranaté závorky a různé kombinace, ale nevím. Jinak je zvláštní, že když formulář s checkboxy pojmenuju "formular-checkbox" (stejně pak podle toho ve fci), tak přestane fungovat. Jako by v atributu name nemohl být spojovník.

Živě: http://jpw.odemne.com/checked/

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Checkbox a Radiobutton</title>
<style type="text/css">
	body {margin: 20px; font: 1.5em Georgia}
	#vypis, #vypis2 {color: #c00; font-weight: bold}
</style>

<script type="text/javascript">
function checkbox(){
	if (document.formularC.c1.checked) {
		document.getElementById("vypis").innerHTML = "80";
	}
	else if (document.formularC.c2.checked) {
		document.getElementById("vypis").innerHTML = "dvakrát nic bez chleba";
	}
	else if (document.formularC.c3.checked) {
		document.getElementById("vypis").innerHTML = "70";
	}
}

function radiobutton(){
	if (document.formularR.radio.r1.checked) {
		document.getElementById("vypis2").innerHTML = "čtvereček";
	}
	else if (document.formularR.radio.r2.checked) {
		document.getElementById("vypis2").innerHTML = "kulička";
	}
	else if (document.formularR.radio.r3.checked) {
		document.getElementById("vypis2").innerHTML = "kolečko";
	}
}
</script> 
</head>
<body>
<h1>Vyber odpověď</h1>
<p>Třiašedesát plus sedm = <span id="vypis">_</span>.</p>

<form name="formularC" action="">
	<input type="checkbox" onClick="checkbox();" name="c1">
	<input type="checkbox" onClick="checkbox();" name="c2">
	<input type="checkbox" onClick="checkbox();" name="c3">
</form>

<p>Nejkulaťoulinkatější&hellip; <span id="vypis2">_</span>.</p>

<form name="formularR" action="">
	<input type="radio" onClick="radiobutton();" name="radio" value="r1">
	<input type="radio" onClick="radiobutton();" name="radio" value="r2">
	<input type="radio" onClick="radiobutton();" name="radio" value="r3">
</form>

</body>
</html> 


Děkuju za pomoc.
Chamurappi
Profil
Reaguji na Taura:
když formulář s checkboxy pojmenuju "formular-checkbox" (stejně pak podle toho ve fci), tak přestane fungovat
Mínus je v JavaScriptu operátor pro odčítání, není dovolen v identifikátoru. Viz Dvojí přístup ke členu (vlastnosti/metodě) objektu.

Z tamního příkladu také může vyčíst, že stejně nazvané formulářové prvky tvoří pole. První přepínač tedy není v document.formularR.radio.r1, ale v document.formularR.radio[0].
Taurus
Profil
Děkuju za vysvětlení, funguje (aktualizováno na webu). Opět okamžitá reakce s řešením. :-)

// asi jsem cpal do závorek value, nebo číslování v době, kdy jsem odmazal zase něco jiného... bylo to jako chodit v blátě.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: