DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   TAB u <textarea> (http://www.devprotalk.com/showthread.php?t=369)

bluesman 18. 11. 2005. 02:31

TAB u <textarea>
 
Pokušavam da omogućim unos TAB u <textarea>, da ne prenosi kontrolu već da se unese baš karakter \t ... međutim kada pročitam keyCode dobije uvek 0. Da li postoji neki normalan način da se to uradi? Znači kada pišem u textarea i pritisnem TAB, da unese tab u tekst a ne da prenese kontrolu na sledeći element u formularu.

dinke 18. 11. 2005. 02:50

Mozda da napravis funkciju koja se aktivira na onKeyPress event. Onda u njoj proveris da li je pritisnut bas tab. Ako jeste, na postojeci tex u text area dodas tab znak (ascii je 0x09), bacis focus na textarea i to bi mislim bilo to.

Ovo je naravno samo ideja, ono sto mi je prvo palo na pamet :)

[edit]Malo sam googlao na ovu temu i nabasao na ovo:
http://pastebin.com/

Dakle sada ti samo ostaje da pogledas kod :)[/edit]

bluesman 18. 11. 2005. 02:57

To je prvo što sam uradio :)

Jedno interesanto ponašanje: kada stavim event "onKeyPress" onda ne provaljuje TAB, SHIFT, CTRL već moram da čitam posebno da li je pritisnuto nešto od toga...

HTML kôd:

if (window.event) {
k = window.event.keyCode;
isAlt = window.event.altKey;
isCtrl = window.event.ctrlKey;
isShift = window.event.shiftKey;
}

pa onda upoređujem... to je sve ok.

Međutim kada stavim OnKeyDown... onda se drugačije ponaša. Dobijem odmah
k = 17 za Ctrl
k = 18 za alt
...
čak mogu da pročitam i da li je pritisnut CAPS LOCK, k = 20
kao i F1, F2 ... tastere.

I radio sam nešto ovako:
if (k == 9) {
insert .... "\t "
}
textareafield.focus();

medjutim nece da vrati focus na textarea.

Ali kada uradim:
if (k == 9) {
alert (k);
insert .... "\t "
}
textareafield.focus();

onda vraca focus. ?!?!

E to bi sada moglo kada me nebi stalno nervirao alert() :)

bluesman 18. 11. 2005. 03:01

Citat:

Originalno napisao dinke
[edit]Malo sam googlao na ovu temu i nabasao na ovo:
http://pastebin.com/

Dakle sada ti samo ostaje da pogledas kod :)[/edit]

Da, to i ja radim, cak vidim da i ovome "flashne" sledeci input box... pa vrati focus na textarea... ali ne znam zasto meni ne radi bez alert() ?!?!

bluesman 18. 11. 2005. 03:05

Provalio sam ga :)

setTimeout('document.forms["name"].field.focus();',0);

Ali opet radi samo na keyDown ne na KeyPress

Možda je najbolje imate poseban handler za jedno i drugo

na KeyDown hvataš specijalne karaktere: Alt, Ctrl, Tab...
na KeyPress hvataš standardne: a,b,c ....1,2,3 ...

Znači rešeno :)

nixa 18. 11. 2005. 04:06

Isprica se ti sam sa sobom :)

bluesman 18. 11. 2005. 04:20

Kad pogledam bolje - jesam :) Jbg, mislio sam da se neko zezao sa tim pa zna odmah resenje - ipak mi je trebalo 1/2 sata cimanja :)

jasmanac 18. 11. 2005. 11:34

Dobar monolog ;)

bluesman 18. 11. 2005. 11:56

Što ste takvi? ok neću više :)

Imao sam problem, hteo sam pomoć, rešio sam pre nego što je neko uspeo da mi pomogne pa sam rešenje "turio" ovde ako nekome bude zatrebalo... nisam hteo da ispadne kao monolog :) Sorry.

Milos Vukotic 18. 11. 2005. 12:46

To i nije tako rijetka situacija na forumima... "Recimo ja" sam na elitesecurity imao nekoliko monologa... Ono, postavim pitanje, u medjuvremenu nadjem odgovor i postavim ga tu 'da se raja obuče', na kraju se sam sebi lijepo zahvalim... Mada, nisam siguran da li razgovori sa samim sobom spadaju u monologe ili u "slučajeve" :)


Vreme je GMT +2. Trenutno vreme je 14:43.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.