Autor Zpráva
r3Q25
Profil *
Cau, mam textareu a oznacim si v ni nejakou cast textu - jak ho pomoci javascriptu vytahnu ven? Jen ten oznaceny text.

Diky Jakub
habendorf
Profil
Co třeba strejda google?

http://www.google.cz/search?hl=cs&q=copy+selected+text+javascript&btnG =Hledat&lr=
r3Q25
Profil *
No vida... tak dobrej kamos me nenapad... :D
r3Q25
Profil *
Ale jak tak na to koukam rek bych ze sance bude mit jen IE... co tak hledam tak to moc nedopadne :(
Bubák
Profil
r3Q25
I tady v diskusi je políčko hledat
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=36 836
Řeší se tam sice jimý problém, ale na kopírování z textarea taky došlo.
r3Q25
Profil *
O tomhle reseni vim - ale to je prave IE only!
r3Q25
Profil *
Muselo by se to resit pres DOM
los
Profil *
Keď to vieš spraviť v IE, tak v ostatných prehliadačoch je to jednoduchšie, pretože prvok textarea tam má vlastnosť selectionStart a selectionEnd. Pomocou nich získaš označený text metódou substring nejako takto:
var selectionText = textarea.value.substring (textarea.selectionStart, textarea.selectionEnd);
Joker
Profil
r3Q25
V IE to jde přes tu textRange, i když mě trochu udivila komplikovanost toho řešení.
V ostatních prohlížečích to jde celkem jednoduše přes vlastnosti selectionStart a selectionEnd. Dělal jsem podobné řešení a mám ho ověřené pro Operu a Firefox.
r3Q25
Profil *
V IE to jde přes tu textRange, i když mě trochu udivila komplikovanost toho řešení.
V ostatních prohlížečích to jde celkem jednoduše přes vlastnosti selectionStart a selectionEnd. Dělal jsem podobné řešení a mám ho ověřené pro Operu a Firefox.


nemoh bys mi to reseni ukazat? Ja se tady s tim ted lopotim :D
Joker
Profil
nemoh bys mi to reseni ukazat? Ja se tady s tim ted lopotim :D
OK... kdysi jsem napsal tuhle funkci, která v textarea vkládá HTML tagy kolem označeného textu. To by se mimochodem hodilo i ve zdejší diskusi, když třeba označím text a kliknu na tučně, aby to udělalo tučně to co mám označené.

function vlozKolemOzn(tag1, tag2){
if(ta==0) return 0;

// umi problizec selectionStart a selectionEnd?
if((ta.selectionStart != undefined) && (ta.selectionEnd != undefined)){
ta.value = ta.value.substring(0,ta.selectionStart) + tag1 + ta.value.substring(ta.selectionStart, ta.selectionEnd) + tag2 + ta.value.substring(ta.selectionEnd, ta.value.length);
ta.selectionEnd = ta.selectionStart = ta.value.length;
} else if(document.selection && document.selection.createRange){
// Internet Explorer
var vyber = document.selection.createRange().text;
if(vyber){
document.selection.createRange().text = tag1 + vyber + tag2;
}
}
}

Sice to dělá něco jiného než chcete, ale úprava už není tak složitá ;-)

edit: Jenom dodám, že v proměnné ta je uložený právě ten objekt textarea. Používá se to jako globální proměnná pro větší množství podobných funkcí.
peta
Profil *
r3Q25
diskuse.jakpsatweb - zobrazit zdrojovy kod - JS :)

http://www.volny.cz/peter.mlich/www.htm#mssub11
# los.webz.cz JS textarea kurzor
# www.alexking.org JS textarea kurzor
Toto téma je uzamčeno. Odpověď nelze zaslat.