| 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: 11 let
|
|||
0