| Autor | Zpráva | ||
|---|---|---|---|
| Mody Profil |
Ahoj. mám takovýto script:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Nová stránka 1</title>
</head>
<body>
<p>Jeden voják stojí 1 zlaktu</p>
<form name="nakup" method="POST" action="#" onsubmit="return false">
<p><input type="text" name="postav" size="20">
<input type="submit" value="Naverbij vojáky" onClick="naverbuj()"></p>
</form>
Máš <span id="zlatky"></span> zlatky(ek)<br>
Máš <span id="vojaci"></span> vojaka(ků)
<script language="JavaScript">
{ var penize = 100;
var armada = 0;
window.document.getElementById("zlatky").innerHTML = penize;
window.document.getElementById("vojaci").innerHTML = armada;
function naverbuj()
{ var stavba = document.nakup.postav.value;
if ( document.nakup.postav.value == 0 ) alert('Musíš to pole vyplnit abys mohl postavit armádu!!');
if ( stavba > penize ) alert('Nemáš tolik peněz 1 voják stojí 1 zlatku!!')== false ;
if ( stavba < penize ); { if( stavba != 0 ); { var zustatek = penize - stavba;
var garda = armada - (-stavba);
window.document.getElementById("zlatky").innerHTML = zustatek;
window.document.getElementById("vojaci").innerHTML = garda;
}}}}
</script>
</body>
</html>Když si postavým třevba 12 vojáku tak se mi to odečte od zlatek a přičte k vojákům ale když pak chci postaviot ještě 2 tak se mi to ale zase odečítá od plného počtu a mám tedy celkem vojáky 2 nedolo by se to ošetřit tak aby se mi když postavým další dve odečetli od zbývajících 88. zlatek a přičetlo k 12 vojákům. Děkuji předem za rady |
||
| peta Profil |
#2 · Zasláno: 4. 5. 2008, 22:40:36
stavit
tak se mi to odečte - tak se mi co od ceho? a přičte k vojákům - co k cemu? tak se mi to ale zase odečítá od plného počtu - co od ceho? <script language="JavaScript"> { ta zavorka tam nepatri, JS konzola by to mela hlasit jako chybu var penize = 100; var zustatek = penize - stavba; window.document.getElementById("zlatky").innerHTML = zustatek; No jo, ale promennou penize nikde nemenis, pouze od ni odecitas. Co kdyby jsi pod to pripsal jeste penize = zustatek; urcite bych si to zjednodusil: function objekt(id) {return (window.document.getElementById(id) ? window.document.getElementById(id) : id);} potom z = objekt('zlatky').innerHTML; v = objekt("vojaci").innerHTML; ... objekt('zlatky').innerHTML = z; objekt("vojaci").innerHTML = v; a pod... |
||
| Mody Profil |
#3 · Zasláno: 5. 5. 2008, 06:40:06
peta
var penize = 100; var zustatek = penize - stavba; window.document.getElementById("zlatky").innerHTML = zustatek; No jo, ale promennou penize nikde nemenis, pouze od ni odecitas. Co kdyby jsi pod to pripsal jeste penize = zustatek; var penize = 100;
var armada = 0;
var penize = zustatek; // Sem ???
window.document.getElementById("zlatky").innerHTML = penize;
window.document.getElementById("vojaci").innerHTML = armada;
if ( stavba < penize ); { if( stavba != 0 ); { var penize = penize - stavba;
var garda = armada - (-stavba);
var penize = zustatek;// nebo SEm??
window.document.getElementById("zlatky").innerHTML = penize;
window.document.getElementById("vojaci").innerHTML = garda;
|
||
| Mody Profil |
#4 · Zasláno: 5. 5. 2008, 06:47:13
nějak jsem to nepochopil kam to mám dát
|
||
| peta Profil |
#5 · Zasláno: 5. 5. 2008, 07:57:10
Mody
Ty ses programator, tak musis vedet, kde to chces. Ja ti jenom oznamuji, ze chces menit hodnotu penize, ale nikde tuto hodnotu nemenis. To je ta chyba, kterou hledas. Take by jsi si mel kontrolovat, zda nejsou penize mensi nez 0 nez to ulozis. var = deklarace promenne, pokud uz je vytvorena, tak tam byt nemusi. Takova pomucka, vypis si tabulku se vsemi promennymi a radky budou prikazy. Kdyz prikaz zmeni nejakou promenou, napis si novou hodnotu do tabulky a hned uvidis, o cem mluvim. |
||
|
Časová prodleva: 17 let
|
|||
0