Pogčedajte punu verziju : TAB u <textarea>
bluesman
18. 11. 2005., 02:31
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 :)
Malo sam googlao na ovu temu i nabasao na ovo:
http://pastebin.com/
Dakle sada ti samo ostaje da pogledas kod :)
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...
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
Malo sam googlao na ovu temu i nabasao na ovo:
http://pastebin.com/
Dakle sada ti samo ostaje da pogledas kod :)
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 :)
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" :)
dinke
18. 11. 2005., 13:34
Dobro bre ljudi, kakav monolog ? Ja sam se javio sa svojom idejom (koju je doduse Blues vec imao :) i dao link sa primerom. Verujem da sam makar malo bio od pomoci. A Blues je covek posle lepo izlozio i problem a malo kasnije i resenje.
Doduse, slicno (poput Bluesa ovde) sam i ja uradio na onoj temi kada sam trazio browser detection klasu, a pola sata kasnije sam napravio :)
bluesman
18. 11. 2005., 13:56
Eto vidite, a vi mene spopali :) Neka si im rekao dinke :)
OT: mogao je neko za trud i da rangira temu umesto da me pljujete :)
Dragan Babić
18. 11. 2005., 14:09
A kako bi ti ovo odgovaralo (http://dnevnikeklektika.com/css/pre/pre.html)?
U IEu radi samo sa striktnim doctypeom, u 5.x ne radi uopste. Sva ostala deca podrzavaju.
shoba
18. 11. 2005., 14:36
Monolozi su vrlo nezgodni pogotovo ako se zametne kavga :)
ja tako jednom nisam sa sobom pricao po nekoliko meseci!
Salim se, ali Blues ne sekiraj se, ja sam vise puta neke stvari ukapirao tek kad sam drugima poceo objasnjavati!
Monoloski momenti su ovde bili jako korisni za nas ostale.
ivanhoe
20. 11. 2005., 06:10
@Dragan: sad ili sam ja naprasno zaboravio CSS ili si ti u primeru definisao css za "pre" klasu koju onda nisi nigde upotrebio ???? :confused: :rolleyes:
<style type="text/css">
/cut.../
.pre /* ovo je bitno, dozvoljava upotrebu vise razmaka i tabova */
{white-space:pre; color:green;}
-->
</style>
</head>
<body>
/cut../
<pre>
Ovaj teksk je kucan sa puno razmaka .<br />
evo ga i tab.
</pre>
ajd priznaj da nisi verovao da ce iko stvarno da klikne na taj link :D :p
Dragan Babić
20. 11. 2005., 13:41
@ ivanhoe:
stavio sam tacku, a hteo sam samo da dam osobine za pre :P
hehehe.
EDIT: ispravljeno ;)
vBulletin® v3.6.8, Copyright ©2000-2009, Jelsoft Enterprises Ltd.