Autor | Zpráva | ||
---|---|---|---|
normalniclovek Profil |
#1 · Zasláno: 8. 5. 2013, 07:53:43
Dobrý den,
Chci secist hodnotu dvou inputů: <input name="prvni"><input type="button" value="+" disabled><input name="druhy"> <input type="button" value="=" onclick="document.write(document.all.prvni.value + document.all.druha.value)"> Ale problem je takový, že když např. Bude hodnota inputu 5 a u druhého 100 tak se nevypíše 105 ale 5100. Děkuji předem za odpovědi. |
||
Taps Profil |
#2 · Zasláno: 8. 5. 2013, 07:57:29
|
||
normalniclovek Profil |
#3 · Zasláno: 8. 5. 2013, 08:14:23 · Upravil/a: normalniclovek
díky,
čím je tam myšlena proměná? Mám tam zadat - var nebo co? Díky za odpověď |
||
Radek9 Profil |
#4 · Zasláno: 8. 5. 2013, 10:43:19
normalniclovek:
Z vlastnosti value u formulářových prvků dostaneš vždy string. Při sčítání stringů dostaneš vždy nový string. Potřebuješ ty stringy převést na číslo a až potom je sečíst.
|
||
quatzael Profil |
#5 · Zasláno: 8. 5. 2013, 10:56:09
normalniclovek:
Můžeš použít například funkci parseFloat().. stringnum = parseFloat(stringnum); |
||
normalniclovek Profil |
#6 · Zasláno: 8. 5. 2013, 11:24:29
díky já jsem myslel ale:
Součet čísel versus součet řetězců Vezmete-li např. hodnotu z textového < i n p u t >u, skript s ní pracuje jako s řetězcem, i když je v ní vepsané číslo. Pokud k ní něco přičtete, výsledkem bude pořád řetězec, z " 1 " + 5 vyjde " 1 5 " , nikoliv 6. Dosáhnout číselného součtu jde několika způsoby: • Vynásobit řetězec jedničkou: p r omě n n á * 1 + 5. • Místo přičtení odečíst zápornou hodnotu: - ( - p r omě n n á ) + 5. • Přičíst kladnou hodnotu: + p r omě n n á + 5. • Použít funkci N umb e r : N umb e r ( p r omě n n á ) + 5. • Použít funkci p a r s e F l o a t či p a r s e I n t : p a r s e F l o a t ( p r omě n n á ) + 5 _____________________________________________________________________ Co je ta proměná? Co tam mám místo toho zadat? Asi by to bylo lehčí přes tu proměnou. Díky |
||
quatzael Profil |
#7 · Zasláno: 8. 5. 2013, 11:40:39
normalniclovek:
„Co je ta proměná? Co tam mám místo toho zadat?“ tam máš právě zadat tu proměnnou. Do tý proměnný si nejprve vložíš hodnotu z toho inputu pomocí .value() a pak to projedeš přes ten parse..
|
||
Radek9 Profil |
#8 · Zasláno: 8. 5. 2013, 11:41:21
normalniclovek:
Prostě value toho inputu. Nemusí to být přímo v proměnné, stačí vlastnost.
|
||
normalniclovek Profil |
#9 · Zasláno: 8. 5. 2013, 12:01:21
pořád mi to nefunguje :(
Dáte sem někdo prosím živou ukázku jako já nahoře. Díky |
||
Radek9 Profil |
normalniclovek:
var result = parseFloat(document.názevFormuláře.prvni.value) + parseFloat(document.názevFormuláře.druhy.value); alert(result); Edit: Vida, na value jsem z toho zmatku zapomněl. :-)
|
||
peta Profil |
#11 · Zasláno: 9. 5. 2013, 07:56:10
Radek9:
<form> <input name="prvni" value=5> <input name="druhy" value=6> </form> <script> var form = document.forms[0]; var result = parseFloat(form.prvni.value) + parseFloat(form.druhy.value); alert(result); </script> |
||
preca1 Profil |
#12 · Zasláno: 9. 5. 2013, 08:55:50
quatzael:
„Do tý proměnný si nejprve vložíš hodnotu z toho inputu pomocí .value()“ Neni to metoda, ale atribut, takže tam nemaj bejt ty závorky. |
||
Časová prodleva: 5 dní
|
|||
normalniclovek Profil |
#13 · Zasláno: 14. 5. 2013, 14:51:55
díky
|
||
Časová prodleva: 11 let
|
0