Autor | Zpráva | ||
---|---|---|---|
SwimX Profil |
#1 · Zasláno: 28. 1. 2009, 14:00:55 · Upravil/a: SwimX
Dobrý den,
mám <textarea> kde chci mít maximální délku 500znaků + výpis kolik vám ještě zbývá: <textarea rows="3" cols="25" id="pozn" name="pozn"></textarea><br> <p id="textarea_poc">Max. 500znaků <span id="napsano-zbyva"></span></p> <script type="text/javascript"> textarea = document.getElementById("pozn"); document.getElementById("napsano-zbyva").innerHTML = "| Napsáno: 0 | Zbývá: 500"; if (textarea) { var mess, delka; textarea.onkeypress = function () { delka = textarea.value.length; if (delka < 10){ mess = textarea.value; document.getElementById("napsano-zbyva").innerHTML = "| Napsáno: " + delka + " | Zbývá: " + (500 - delka); } else textarea.value = mess; } } </script> Při přidání znaku -> mi napíše -> Napsáno: 0. Když stisknu např šipku -> srovná se to jak todle vyřešit? onkeydown popř up mi nevyhovuje, proože pokud držím jednu klávesu, nepřipočítává se, až potom naráz, a až potom vám to ořízne text na prvních 10 (potom 500) znaků Děkuji |
||
Str4wberry Profil |
#2 · Zasláno: 28. 1. 2009, 16:09:07
Použij časování.
|
||
SwimX Profil |
#3 · Zasláno: 28. 1. 2009, 18:43:10 · Upravil/a: SwimX
Str4wberry
Děkuji Změnil jsem tedy kód: <label for="pozn">Jiné činosti: <span>Popis cesty (abychom vás našli):</span> <span>Poznámka:</span></label> <textarea rows="3" cols="25" id="pozn" name="pozn"><? echo isset($_POST['pozn']) ? $_POST['pozn'] : "" ?></textarea><br> <p id="textarea_poc">Max. 500znaků <span id="napsano-zbyva"></span></p> <script type="text/javascript"> textarea = document.getElementById("pozn"); document.getElementById("napsano-zbyva").innerHTML = "| Napsáno: 0 | Zbývá: 500"; if (textarea) { var mess, delka; window.setInterval("stisk()", 50); function stisk() { delka = textarea.value.length; if (delka < 10){ mess = textarea.value; document.getElementById("napsano-zbyva").innerHTML = "| Napsáno: " + delka + " | Zbývá: " + (500 - delka); } else textarea.value = mess; } } </script> Ještě však dotaz: Nakolik to zpomaluje? javascriptu moc neholduju, ale testovat něco každých 50mili sekund mi příde trochu zátěž..? |
||
Str4wberry Profil |
#4 · Zasláno: 28. 1. 2009, 19:06:10
Moc to nezpomaluje. Když tak interval zvyšuj do té chvíle, než se Ti bude zdát četnost aktualizace nedostatečná.
|
||
SwimX Profil |
#5 · Zasláno: 28. 1. 2009, 19:18:52
Str4wberry
„Když tak interval zvyšuj “ ok a co třeba spustit ten setInterval až když budu kurzorem v textaree? |
||
_es Profil |
#6 · Zasláno: 29. 1. 2009, 22:01:24
SwimX
„Ještě však dotaz: Nakolik to zpomaluje?“ Môže to spomaľovať window.setInterval("stisk()", 50);. Miesto toho je lepšie window.setInterval(stisk, 50); Nie je miesto toho časovania lepšie priradiť funkciu stisk do všetkých udalostí, ktoré môžu spôsobiť zmenu? Napríklad: with(textarea) onchange = onclick = ondblclick = onmousedown = onmouseup = onkeypress = onkeydown = onkeyup = stisk; Ten tvoj skript, ak napríklad zostáva 5 znakov, a v schránke je text so 6 znakmi, tak nedovolí vložiť pomocou ctrl+V nič. Je to takto žiadúce? |
||
SwimX Profil |
#7 · Zasláno: 29. 1. 2009, 22:13:04
_es
„Ten tvoj skript, ak napríklad zostáva 5 znakov, a v schránke je text so 6 znakmi, tak nedovolí vložiť pomocou ctrl+V nič. Je to takto žiadúce?“ jo. Je to formulář na registraci na praxe ve škole. Nikdo tam snad nebude vkládat nic ze schránky a pokud bude vkládat delší má smůlu. Je to jenom jakási poznámka na konec. A phpko ji stejně ořízne na 500znaků. ten skript s with se mi líbí. Děkuji |
||
_es Profil |
#8 · Zasláno: 29. 1. 2009, 22:31:20
„ten skript s with se mi líbí. Děkuji“
Ale nedoporučujem si with veľmi obľúbiť a keď už ho používať, tak vedieť, čo to robí. Zaujímavé využitie je napríklad: "statická" premenná |
||
SwimX Profil |
#9 · Zasláno: 29. 1. 2009, 22:50:47
_es
„Zaujímavé využitie je napríklad: "statická" premenná“ zajímavé určitě ale ztratil jsem se už v prvním příspěvku :))) javascript nedělám, protože se dá vypnout a tím člověk příde o vše, co tak pracně naprogrmaoval. Todle bude jenom takové doplnění kontroly formuláře - kterou stejně dělá phpko - aby se nemusel pokaždé při pokusu o odeslání posílat dotaz na server, ale vyřešilo by se to na straně klienta. myslím že natvrdo do té stránky hodím ten tvůj řádek s with a bude :) |
||
Časová prodleva: 15 let
|
0