Autor | Zpráva | ||
---|---|---|---|
Singell Profil * |
#1 · Zasláno: 15. 12. 2010, 15:56:16
Ahoj,
js není má silná stránka, v tomto směru jsem spíše lepič kódu, proto Vás nyní poprosím o praktické řešení... Mám na stránce vícero inputů a potřeboval bych, aby při jejich vyplňování uživatel viděl, kolik ještě může znaků vepsat. Našel jsem si zde v diskuzi něco podobného a to v tomto vlákně. Kód funguje perfektně, jen bych ho potřeboval používat pro 3 inputy najednou na jedné stránce. Potřeboval bych rozlišit nějakým identifikátorem, aby bylo jasné, jaké počítání patří k jakému inputu. Děkuji |
||
__construct Profil |
#2 · Zasláno: 15. 12. 2010, 16:11:57
Singell:
Napr. takže z tej funkcie spravíš trošku univerzálnejšiu funkciu - tzn. že nedeklaruješ všetky premenné ako globálne, ale budeš ich predávať ako parameter tej funkcii. <textarea name="vzkaz" id="policko" onkeyup="pocitani(this.id,…)" rows="8" cols="40"></textarea> var vyskocit = true; var hlaska = "Maximální počet znaků je omezen na " + maximum + "."; function pocitani(el,sp,…) { var policko = document.getElementById(el); var napsano = document.getElementById(sp); … } |
||
Singell Profil * |
#3 · Zasláno: 15. 12. 2010, 17:05:54
Tak zkouším, zkouším a nedaří se. Ja do té funkce pocitani() v onkeyup dostanu nazvy inputu, ve kterých se bude zobrazovat počet znaků? A můžeš mi zde napsat i větší část toho samotného javascriptu? :)
|
||
Chamurappi Profil |
#4 · Zasláno: 15. 12. 2010, 17:36:51
Reaguji na Singella:
„do té funkce pocitani() v onkeyup dostanu nazvy inputu“ Spíš ídéčka. Ukaž, co zkoušíš, a zjistíme, kde děláš chybu. |
||
Singell Profil * |
#5 · Zasláno: 15. 12. 2010, 18:14:28
:) no ja pravě nevím, dal jsem tam natvrdo id inputů a pak mi až došlo, že to nebude fungovat ..onkeyup="pocitani(this.id, napsano, zbyva)...
A pak jsem jeste všechny deklarace proměných vložil do té funkce: ... function pocitani(policko, napsano, zbyva) { var policko = document.getElementById(policko); var napsano = document.getElementById(napsano); var zbyva = document.getElementById(zbyva); var maximum = 500; var vyskocit = true; var hlaska = "Maximální počet znaků je omezen na " + maximum + "."; ... Jak jsem na začátku říkal, JS mi neříká pane... :) |
||
_es Profil |
#6 · Zasláno: 15. 12. 2010, 23:21:38
Singell:
function pocitani(textarea, pocet, zvysok, max) { textarea = document.getElementById(textarea); pocet = document.getElementById(pocet); zvysok = document.getElementById(zvysok); textarea.onchange = textarea.onkeyup = textarea.onmouseup = vypocet; function vypocet() { if(textarea.value.length > max) textarea.value = textarea.value.substring(0, max); pocet.value = textarea.value.length; zvysok.value = max - textarea.value.length; } } textarea : id textaerea
pocet : id inputu, kde sa bude zobrazovať počet znakov
zvysok : id inputu, kde sa bude zobrazovať zostávajúci počet znakov
max : maximálny dovolený počet znakov
|
||
Singell Profil * |
#7 · Zasláno: 16. 12. 2010, 09:10:11
Může mi prosím někdo ukázat jak to bude?
|
||
Singell Profil * |
#8 · Zasláno: 16. 12. 2010, 09:15:58
_es:
špatně se mi refreshovala stránka a nevšiml jsem si tvé reakce. Ty názvy IDéček, ve kterých se to bude zobrazovat, jsem napsal správně? Nějak se mi to nezdá, asi by měla být napsána spíše v uvozovkách, ne? No jdu se na to podívat. Díky. |
||
_es Profil |
#9 · Zasláno: 16. 12. 2010, 09:17:24
Singell:
Čo tak prejaviť aj trochu vlastnej snahy? <script>pocitani(textarea, pocet, zvysok, max);</script> |
||
_es Profil |
#10 · Zasláno: 16. 12. 2010, 09:19:25
Singell:
„Nějak se mi to nezdá, asi by měla být napsána spíše v uvozovkách, ne?“ Aj len „lepič kódu“ by mal poznať aspoň zápis základných dátových typov. |
||
Singell Profil * |
#11 · Zasláno: 16. 12. 2010, 09:45:58
Však ano, už to funguje, moc ti děkuji. Budu se snazižit nebýt jen „lepič kódu“
Hezký den Ti přeji! S. |
||
Časová prodleva: 13 let
|
0