Autor | Zpráva | ||
---|---|---|---|
AAAnonym Profil |
#1 · Zasláno: 30. 3. 2012, 16:35:14
Mám docela jednoduchý formulář, všechno funguje jak má, kromě jedné věci, nad kterou mi už opravdu zůstává rozum stát... Funguje tak, že podle výběru ze selectu umocňuje na 2,3, 2,4 atd... čísla od a do b. Pokud vyjde výsledek, který se rovná 0 nebo je menší, než nula, vyjde "Nelze" Všechny výdledky se zaokrouhlují nahoru, kromě toho, když vyjde např. 0,1 - v tom případě vyjde 1.
Jsou tam ještě další výpočty, ale to napíšu dole ve zdrojovém kódu. Problém je, že když napíšu od 4 do 5, vyjde 1, a mělo by vyjít "Nelze", protože od pětky se odečítá 1 (4 a 4) a od obou čísel se odečítá 4 (0 a 0) Když seumocní číslo od 0 do nuly, nikdy nemůže vyjít 1, tak nechápu jak je to možné.... Teď ten zdroják: <form name="form"> Vycvičení od:<input name="a"> do: <input name="b"> Úroveň cvičiště: <input name="c"> Výsledek: <input name="d"> <input type="button" onClick="secti();" value="Odeslat"> <select name="staty"> <option value="Síla" id="1" selected="selected">Síla</option> <option value="Dovednost" id="2">Dovednost</option> <option value="Obratnost" id="3">Obratnost</option> <option value="Odolnost" id="4">Odolnost</option> <option value="Charisma" id="5">Charisma</option> <option value="Inteligence" id="6">Inteligence</option> </select> </form> <script type="text/javascript"> function secti () { var a = document.form.a.value; var b = document.form.b.value-1; var c = document.form.c.value; var suma = 0; for(i= a; i<=b; i++){ suma = suma+ Math.floor(Math.max(1,(Math.pow(i-4, (((document.getElementById('1').value ===document.form.staty.value)*2.6)+ ((document.getElementById('2').value ===document.form.staty.value)*2.5)+ ((document.getElementById('3').value ===document.form.staty.value)*2.3)+ ((document.getElementById('4').value ===document.form.staty.value)*2.3)+ ((document.getElementById('5').value ===document.form.staty.value)*2.5)+ ((document.getElementById('6').value ===document.form.staty.value)*2.4)))* (1-(c*0.02))))) } if(suma>0) { document.form.d.value = suma; } else { document.form.d.value = "Nelze"; } } </script> |
||
Časová prodleva: 3 dny
|
|||
Dandys2012 Profil * |
#2 · Zasláno: 2. 4. 2012, 13:11:32
Čoveče, máš otázku moc složitě napsanou, takže ti vůbec nerozumím.
|
||
Časová prodleva: 12 let
|
0