Autor | Zpráva | ||
---|---|---|---|
Niik Profil * |
#1 · Zasláno: 10. 7. 2013, 17:04:26
Dobrý den,
Mám tento javascript kód: var neco = document.getElementById("area").value; <textarea id="area">Nějaký text</area> Problém je v tom, že javascript vždy do proměnné neco dá hodnotu, která je v textarea předurčená, tudíž v tomto případě "Nějaký text", když ale textarea upravím na něco jiného, chtěl bych aby mi do té proměnné neco byl dán aktuální (upravený) obsah pole textarea. Funkci vyvolávám pomocí onClick na odkaz. Děkuji za rady |
||
quatzael Profil |
Niik:
musíš tam dát nějakou událost, v Tvým případě nejspíš onChange!! takhle proběhne script jenom hned při načtení stránky.. To je jasný, že Ti to nebude fungovat.. |
||
weroro Profil |
Máš nesprávnu uzatváraciu značku pre textareu. Má tam byť </textarea>
Ja som to urobil takto a bez problému. <!DOCTYPE HTML> <meta charset="utf-8"> <title>jpw</title> <script type="text/javascript"> function obsah() { // buď alert(document.getElementById("area").value); // alebo alert(document.getElementById("area").innerHTML); return false; } </script> <textarea id="area">Nějaký text</textarea> <a href="#" onclick="return obsah();">vypíš obsah</a> |
||
Chamurappi Profil |
#4 · Zasláno: 10. 7. 2013, 17:21:06
Reaguji na Niika:
„javascript vždy do proměnné neco dá hodnotu, která je v textarea předurčená“ To se neděje. Ve vlastnosti value je vždy aktuální hodnota. V uvedeném kódu problém není.
„když ale textarea upravím na něco jiného“ Tipnul bych si, že při tomto upravování neměníš text v <textarea> , ale v nějakém WYSIWYG editoru, který hodnotu <textarea> neaktualizuje ve stejný okamžik.
Jestli jsem se netrefil, prosím o odkaz na živou ukázku. Reaguji na quatzaela: „musíš tam dát nějakou událost například onChange“ Píše, že to má ve funkci onclick . Proč ty dva vykřičníky? Proč dvě tečky?
Reaguji na werora: „ // alebo “
Ne, innerHTML samozřejmě ne, to jednak nefunguje ve všech prohlížečích a jednak nevrací skutečnou hodnotu.
|
||
weroro Profil |
#5 · Zasláno: 10. 7. 2013, 17:25:57
Chamurappi:
„jednak nevrací skutečnou hodnotu“ Čo myslíš pod skutočnou hodnotou? Mal som dojem, že ak je niečo uzavreté medzi dvoma tagmy, platí aj innerHTML. Aj keď uznávam, že pre tak špecifickú vec ako je textarea tam bude výnimka. |
||
quatzael Profil |
#6 · Zasláno: 10. 7. 2013, 17:30:40
Chamurappi:
„Píše, že to má ve funkci onclick.“ Aha, nějak jsem to přehlídl.. „Proč ty dva vykřičníky? Proč dvě tečky?“ promiň, to je prostě evergreen.. snažím se to omezovat.. |
||
Niik Profil * |
#7 · Zasláno: 10. 7. 2013, 17:51:07
Chamurappi:
> „když ale textarea upravím na něco jiného“ > Tipnul bych si, že při tomto upravování neměníš text v <textarea>, ale v nějakém WYSIWYG editoru, který hodnotu <textarea> neaktualizuje ve stejný okamžik. > Jestli jsem se netrefil, prosím o odkaz na živou ukázku. Ano používám editor - NicEdit. Co by s tím tedy šlo dělat? |
||
Chamurappi Profil |
#8 · Zasláno: 10. 7. 2013, 17:54:33
Reaguji na werora:
„Mal som dojem, že ak je niečo uzavreté medzi dvoma tagmy, platí aj innerHTML.“ V innerHTML je vnitřní HTML, to platí u <textarea> také (v omezené množině prohlížečů). Ale vnitřní HTML není viditelná hodnota, je to HTML podoba té hodnoty, která je většinou k ničemu. Jestli stále nechápeš rozdíl, zkus si do <textarea> napsat menšítko a porovnej si innerHTML s value .
Reaguji na Niika: Nastudovat si dokumentaci NicEditu, tam by mělo být napsáno, jak z editoru (což není <textarea> ale nejspíš nějaký <div> ) vymáčknout aktuální hodnotu.
|
||
Časová prodleva: 11 let
|
0