Autor Zpráva
Jaroslav Sojka
Profil
prosím neporadi te mi potřeboval bych nadefinovat součet i součin a nějak mi to prste nejde tady mam ten script, potřeboval bych a by součin násobil hodnoty value "den" a "st_jmeno" a k tomu pak soucet přičet hodnotu value "CheB". dekuji J.S
<html>
  <head>
  <title>Omišská riviéra</title>
<script language="javascript" type="text/javascript">
function odecet()
{
if(document.f.den[0].checked) document.all.vys0.innerText=("vybrali jsete 7 dní");
if(document.f.den[1].checked) document.all.vys0.innerText=("vybrali jsete 10 dní");
if(document.f.den[2].checked) document.all.vys0.innerText=("vybrali jsete 14 dní");

if(document.f.st_jmeno[0].checked) document.all.vys1.innerText=("vybrali jsete jedno lůžkový pokoj");
if(document.f.st_jmeno[1].checked) document.all.vys1.innerText=("vybrali jsete dvou lůžkový pokoj");
if(document.f.st_jmeno[2].checked) document.all.vys1.innerText=("vybrali jsete tří lůžkový pokoj");
if(document.f.st_jmeno[3].checked) document.all.vys1.innerText=("vybrali jsete čtyř lůžkový pokoj");
if(document.f.st_jmeno[4].checked) document.all.vys1.innerText=("vybrali jsete pěti a více lůžkový pokoj");

if(document.f.CheB[0].checked) document.all.vys2.innerText=("vybrali jsete si pokoj s výhledem na moře");
if(document.f.CheB[1].checked) document.all.vys3.innerText=("vybrali jsete si pokoj s terasou");
if(document.f.CheB[2].checked) document.all.vys4.innerText=("vybrali jsete si pokoj s přistýlkou");
document.all.vys5.innerText=("cena "+soucet+" kč");
}

var cislo1, cislo2, cislo3, cislost_jmeno
cislo1=f.den.options[den].value;
cislost_jmeno=f.st_jmeno.selectedIndex;
cislo2=f.st_jmeno.options[cislost_jmeno].value;              
cislo3=f.CheB.options[CheB].value

var soucin, soucet
soucin=cislo1*cislo2
soucet=soucin+cislo3

</script>

</head>
<body>
<form action="file:///jmSc.url" method="get" name="f" id="f">

<input type="radio" name="den" value="7" checked>7 dní
<input type="radio" name="den" value="10">10 dní
<input type="radio" name="den" value="14">14 dní
<p>
   <input type="radio" name="st_jmeno" value="500" checked>jedno lůžkový
   <br>
   <input type="radio" name="st_jmeno" value="1000">dvou lůžkový
   <br>
   <input type="radio" name="st_jmeno" value="1500">tří lůžkový
   <br>
   <input type="radio" name="st_jmeno" value="2000">čtyř lůžkový
   <br>
   <input type="radio" name="st_jmeno" value="2500">pěti a více lůžkový
   <br>     
   
</p>  
<input name="CheB" id="CheB" type="checkbox" value="200"> výhled na moře<br>
<input name="CheB" id="CheB" type="checkbox" value="200"> terasa<br>
<input name="CheB" id="CheB" type="checkbox" value="200"> přistýlku<br>

<input name="butt" id="butt" type="button" value="ODESLAT" onclick=odecet()>
<input type="reset" value="Vymazání" >
</form>
<div id="vys0"></div>
<div id="vys1"></div>
<div id="vys2"></div>
<div id="vys3"></div>
<div id="vys4"></div>
<div id="vys5"></div>


  </body>
</html>
Senky
Profil
Čo konkrétne ti nejde? Je niekde chyba v skripte? Pozri sa na chybovú konzolu. Ďalej pri používaní innerText metódy ten text nedávaj do zátvoriek.
Jaroslav Sojka
Profil
me se text ukazuje me nejde nasobit a sčitat abych udelal celkovou cenu např když si vyberu 7 dní a dvou lůžkový pokoj s výhledem na moře tak aby mi to vypočetlo celkovou cenu (7*1000)+200 to mi stale nejde
peta
Profil
Ja ti nechci kazit radost, ale ty radky s nasobenim
* nemas uzavrene do funkce a tudiz, kdyz je to napsane nad html prvky, tak se to vola jeste pred jejich vytvorenim a tim padem "f.den.options[den].value" neexistuje a musi ti to prohlizec hlasit jako chybu. Napr ve FF je to v okenku Nastroje - vyvoj webu - chybova konzola.
* nemas tam napsane, kam se ma ulozit vystup, do jakeho prvek.value = soucin nebo aspon alert(soucin)
Cili zpet k JavaScript -- příklady a zjistit, jak se pracuje s prvky select, input a jinymi. Je to nadpis Formuláře.

Ze ten kod funguje si muzes overit dosazenim cisel.
<script>
var cislo1, cislo2, cislo3, cislost_jmeno
cislo1=3;
//cislost_jmeno=f.st_jmeno.selectedIndex;
cislo2=4;
cislo3=5;
 
var soucin, soucet
soucin=cislo1*cislo2
soucet=soucin+cislo3
alert([cislo1,cislo2,cislo3,soucin,soucet]);
</script>
Jaroslav Sojka
Profil
dikes tady to funkcí diky chlapi
<html>
  <head>
  <title>Omišská riviéra</title>
<script language="javascript" type="text/javascript">
function odecet()
{
var x, y, z0, z1, z2, o, cena
if(document.f.den[0].checked) x=7;
if(document.f.den[0].checked) document.all.vys0.innerText=("Vybrali jsete 7 dní");
if(document.f.den[1].checked) x=10;
if(document.f.den[1].checked) document.all.vys0.innerText=("Vybrali jsete 10 dní");
if(document.f.den[2].checked) x=14;
if(document.f.den[2].checked) document.all.vys0.innerText=("Vybrali jsete 14 dní");

if(document.f.st_jmeno[0].checked) y=500;
if(document.f.st_jmeno[0].checked) document.all.vys1.innerText=("Vybrali jsete jedno lůžkový pokoj 500,-kč cena za den");
if(document.f.st_jmeno[1].checked) y=1000;
if(document.f.st_jmeno[1].checked) document.all.vys1.innerText=("Vybrali jsete dvou lůžkový pokoj 1000,-kč cena za den");
if(document.f.st_jmeno[2].checked) y=1500;
if(document.f.st_jmeno[2].checked) document.all.vys1.innerText=("Vybrali jsete tří lůžkový pokoj 1500,-kč cena za den");
if(document.f.st_jmeno[3].checked) y=2000;
if(document.f.st_jmeno[3].checked) document.all.vys1.innerText=("Vybrali jsete čtyř lůžkový pokoj 2000,-kč cena za den");
if(document.f.st_jmeno[4].checked) y=2500;
if(document.f.st_jmeno[4].checked) document.all.vys1.innerText=("Vybrali jsete pěti a více lůžkový pokoj 2500,-kč cena za den");

if(document.f.CheB[0].checked) document.all.vys2.innerText=("Vybrali jsete si pokoj s výhledem na moře +200,-kč");
if(document.f.CheB[1].checked) document.all.vys3.innerText=("Vybrali jsete si pokoj s terasou +200,-kč");
if(document.f.CheB[2].checked) document.all.vys4.innerText=("Vybrali jsete si pokoj s přistýlkou +100,-kč"); 


o=x*y
cena=parseInt(o)+parseInt(z0)+parseInt(z1)+parseInt(z2)

var cislo1, cislo2, cislo3, cislo4, cislo5, cislost_jmeno
cislo1=x;
//cislost_jmeno=f.st_jmeno.selectedIndex;
cislo2=y;
cislo3=0
if(document.f.CheB[0].checked)cislo3=200
cislo4=0
if(document.f.CheB[1].checked)cislo4=200
cislo5=0
if(document.f.CheB[2].checked)cislo5=100



var soucin, soucet0, soucet1
soucin=parseInt(cislo1)*parseInt(cislo2)
soucet0=+parseInt(cislo3)+parseInt(cislo4)+parseInt(cislo5)
soucet1=parseInt(soucin)+parseInt(soucet0)
document.all.vys5.innerText= "Cena bez doplňku "+([soucin])+ ",-kč za "+x+" dní";
document.all.vys6.innerText= "Cena z dopňkem "+([soucet1])+ ",-kč za "+x+" dní";
}

</script>
</head>
<body>
<form action="file:///jmSc.url" method="get" name="f" id="f">
Počet dní<br>
<input type="radio" name="den" value="7" checked>7 dní
<input type="radio" name="den" value="10">10 dní
<input type="radio" name="den" value="14">14 dní
<p> Pokoj cena den<br>
   <input type="radio" name="st_jmeno" value="500" checked>jedno lůžkový cena 500,-Kč
   <br>
   <input type="radio" name="st_jmeno" value="1000">dvou lůžkový cena 1000,-Kč
   <br>
   <input type="radio" name="st_jmeno" value="1500">tří lůžkový cena 1500,-Kč
   <br>
   <input type="radio" name="st_jmeno" value="2000">čtyř lůžkový cena 2000,-Kč
   <br>
   <input type="radio" name="st_jmeno" value="2500">pěti a více lůžkový cena 2500,-Kč
   <br>     
</p>
Za příplatek<br>  
<input name="CheB" id="CheB" type="checkbox" value="200"> výhled na moře + 200,-Kč
<input name="CheB" id="CheB" type="checkbox" value="200"> terasa + 200,-Kč
<input name="CheB" id="CheB" type="checkbox" value="100"> přistýlka + 100,-Kč
<br>
<br>
<input name="butt" id="butt" type="button" value="ODESLAT" onclick=odecet()>
<input type="reset" value="Vymazání" >
</form>
<div id="vys0"></div>
<div id="vys1"></div>
<div id="vys2"></div>
<div id="vys3"></div>
<div id="vys4"></div>
<div id="vys5"></div>
<div id="vys6"></div>
</body>
</html>

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: