Autor | Zpráva | ||
---|---|---|---|
jirka3 Profil * |
#1 · Zasláno: 8. 2. 2015, 20:01:44
Ahoj, mám takový primitivní problém. Začínám s JavaScriptem a potřebuju místo "052415" do scriptu dostat číslo zadané do input. Jak? Díky...
<script> function funkce() { y2 = "052415"/1000000*60; y3 = y2.toFixed(3); alert(y3); } </script> <form> <input name="nsourad" type="text" size="50"> <input type="submit" size="10" value="Odeslat" onClick="funkce()"> </form> |
||
Chamurappi Profil |
#2 · Zasláno: 8. 2. 2015, 20:07:35
Reaguji na jirku3:
Zavoláš funkce(this.form.nsourad.value) a hodnota ti do funkce přijde jako první vstupní argument.
„ y2.toFixed(3); “
Dovolím si upozornit, že zaokrouhlování metodou toFixed nemusí fungovat vždy a všude správně.
|
||
jirka3 Profil * |
#3 · Zasláno: 8. 2. 2015, 20:11:28
Chamurappi:
Ehh, asi jsem teď natvrdlý, ale nechápu to. Můžeš mi to prosím vepsat přímo do kódu? Díky |
||
Chamurappi Profil |
#4 · Zasláno: 8. 2. 2015, 20:27:00
Reaguji na jirku3:
Nyní používáš onClick="funkce()" , což změníš na onclick="funkce(this.form.nsourad.value)" .
Místo function funkce() napíšeš třeba function funkce(x) .
Pak místo řetězce "052415" použiješ x .
|
||
jirka3 Profil * |
#5 · Zasláno: 8. 2. 2015, 20:30:38
Chamurappi:
Funguje, díky! Jenom nějak nechápu to this.form.nsourad.value... Co kdybych tam měl více vstupních polí? Jak to zapíšu? toFixed: a dá se to zapsat jinak? |
||
Trejpa Profil |
jirka3:
<script> function funkce(x) { /* první (jediný) vstupní argument */ x = parseInt(x); /* nějaké využití proměnné z políčka formuláře */ y2 = x/1000000*60; /* zaokrouhlení na tři desetinná místa */ y3 = y2 * 1000; y3 = Math.round(y3) / 1000; alert(y3); } </script> <form action="#" onsubmit="funkce(this.nsourad.value); return false; /* zavoláš funkci */ "> <input name="nsourad" type="text" size="50"> <input type="submit" size="10" value="Odeslat"> </form> Opraveno this.form na this dle [#10].
|
||
lionel messi Profil |
#7 · Zasláno: 8. 2. 2015, 20:32:36
jirka3:
„Co kdybych tam měl více vstupních polí?“ Vždy this.form.neco.value , kde neco je hodnota atribútu name prislúchajúceho danému formulárovému prvku. Čo sa týka zaokrúhľovania ti odpovedal Trejpa.
|
||
jirka3 Profil * |
#8 · Zasláno: 9. 2. 2015, 15:54:30
Díky všem. Ještě jednu věc: Po zobrazení alertu a následném rozkliknutí OK se celá stránka znovu načte, a tím se vymažou i hodnoty v polích. Jde nějak nastavit, aby se to nenačítalo znovu?
|
||
Trejpa Profil |
jirka3:
„aby se to nenačítalo znovu?“ Zrušit odeslání formuláře: <form action="#" onsubmit="funkce(this.nsourad.value); return false; /* zavoláš funkci */ "> Opraveno this.form na this dle [#10].
|
||
Chamurappi Profil |
#10 · Zasláno: 9. 2. 2015, 16:43:22
Reaguji na Trejpu:
Pokud se chytá událost na formuláři, tak místo this.form jen this .
|
||
Časová prodleva: 9 let
|
0