Autor | Zpráva | ||
---|---|---|---|
Kaeru Profil |
#1 · Zasláno: 2. 9. 2008, 21:03:49 · Upravil/a: Kaeru
Potřeboval bych poradit. Dělám registrační formulář a potřebuji oživatele "omezit" na určitou délku zadaného textu. Skript v php, který zkontroluje délku textu, popř. ho ořízne pro mě není problém. Já bych ale chtěl uživateli ukázat, kolik už znaků napsal, aby měl jasno, jak dlouhý text si ještě může dovolit.
Mám textareu a potřebuji zpočítat aktuální počet napsaných znaků, po každém napsaném znaku. Je mi jasné, že to jde přes JavaScript, bohužel v něm téměř nedělám, a tak nemohu přijít na kloudné řešení. Předem díky za pomoc. |
||
peta Profil |
#2 · Zasláno: 3. 9. 2008, 19:24:33
jakpsatweb - javascript - priklady - formulare -> prectes zapises value
jakpsatweb - javascript - objekt string -> zjistis delku retezce ve value |
||
Kaeru Profil |
#3 · Zasláno: 3. 9. 2008, 20:14:00
peta
díky moc, zkusím, kdyžtak napíšu konkrétní kód. |
||
Ghosting Profil |
#4 · Zasláno: 3. 9. 2008, 22:28:56
|
||
Timy Profil |
#5 · Zasláno: 3. 9. 2008, 23:06:19
Ten vertigův skript jmi přijde fuj, co to zkusit jednodušeji:
function pocet_znaku (pocet) { delka = document.form.text.value.length; obsah = document.form.text.value; if (delka <= pocet) { document.form.zbyva.value = pocet - delka; document.form.napsano.value = delka; } else { alert("Maximální počet znaků je " + pocet); document.form.text.value = obsah.substring(0, pocet); } } Argument „pocet“ udává maximální délku. A místo onkeypress používám na odchycení onkeyup, neháže to pak alertovou chybu při backspace, když jsem dosáhl limitu. |
||
peta Profil |
#6 · Zasláno: 4. 9. 2008, 13:49:32
Timy
Tvuj je uplne stejny :) Co ten alert? Ghosting Strucne a jasne. Vse, co potrebuje je v tech prikladech. Tez jsem mohl uvest odkaz na xatchat.sk , kde to pouzivaji, ale prijde mi to naprosto neprakticky script. Pocitat znaky ma smysl az pri onsubmit. Do te doby bych s tim cloveka neotravoval. Take jsem se mohl zminit, ze ruzne sms webove sluzby to maji, staci si to z tama okopirovat. Prislo mi to ale jako zbytecne zdlouhave a neprehledne. Ty priklady jsou naprosto jasne. Vsadim 1000, ze ani nevis, jake priklady tam jsou. |
||
Timy Profil |
#7 · Zasláno: 4. 9. 2008, 15:30:57
peta
Já ten jeho skript jen upravil a dal tomu nějakou kulturu, nevymýšlel jsem to znova. |
||
Bubák Profil |
#8 · Zasláno: 4. 9. 2008, 15:44:08
|
||
Kaeru Profil |
#9 · Zasláno: 4. 9. 2008, 17:48:46
Ale no tak, přece se tu nebudete hádat. Díky, pomohli jste mi, občas stačí jen trošku popostrčit, udělal jsem to podle těch příkladů na jakpsatweb. Nejdřív mi to nešlo, protože jsem zapomněl ukončit předcházející formulář, ale za chvilku jsem na to přišel. Díky moc.
peta pomohl jsi mi, díky. Mě jako uživateli při registraci by přišlo hloupé, kdyby tam něco takového nebylo, protože až ten php script by mi řekl, že to je moc dlouhé, a že to musím přepsat. Možná bych ze stránky odešel, protože mě to zdržuje a je moc práce si zjišťovat, kolik jsem napsal znaků. Ale to už je asi věc názoru. |
||
Časová prodleva: 6 let
|
|||
Jcas Profil * |
#10 · Zasláno: 21. 5. 2014, 17:59:36
Hledal jsem počítání a našel toto vlákno. Ukázka super, ale trochu jsem ji musel upravit (princip naprosto stejný, jen použití innerHTML a this.
Ukázka jak jsem si s tím poradil já. Přesně se to do tohoto vlákna (i když starého) hodí. <textarea onkeyup="pocet(this, 'pocet')"></textarea> <p id="pocet">5</p> function pocet(area, id) { var pocet = 5; var prvek = document.getElementById(id); var delka = area.value.length; var obsah = area.value; if (delka <= pocet) { var zbyva; zbyva = pocet - delka; prvek.innerHTML = "max. " + zbyva + " znaků"; } else { alert("Maximální počet znaků je " + pocet); area.value = obsah.substring(0, pocet); } } |
||
Časová prodleva: 10 let
|
0