| Autor | Zpráva | ||
|---|---|---|---|
| Rox Cox Profil |
#1 · Zasláno: 17. 5. 2009, 16:05:50 · Upravil/a: Rox Cox
Čůs. Potřeboval bych vědět jak označit pouze vybraný text tagem (jako třeba tady na fóru). Používám...
<input name="b" type="button" onclick="text.value+[b][/b]"> <textarea name="text"></textarea> ...ale to návštěvníky docela otravuje. |
||
|
Časová prodleva: 3 dny
|
|||
| fajzen Profil |
<input name="b" type="button" onclick="AtF('b','text');">
<textarea name="text" id="text"></textarea>JavaScript: function AtF(tag, kam)
{
try { // IE
var vyber = document.selection.createRange().text;
document.selection.createRange().text = "[" + tag + "]" + vyber + "[/" + tag + "]";
}
catch(e) {
try { // FF
mozWrap(document.getElementById(kam), "[" + tag + "]", "[/" + tag + "]");
}
catch(e) { // inak klasicky
document.getElementById(kam).value+= "[" + tag + "][/" + tag + "]";
}
}
}
function spol_mozWrap(txtarea, lft, rgt)
{
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd==1 || selEnd==2)
selEnd=selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + lft + s2 + rgt + s3;
} |
||
| Rox Cox Profil |
#3 · Zasláno: 21. 5. 2009, 18:37:51 · Upravil/a: Rox Cox
Funguje to skvěle. Šlo by to ještě nějak pro FF a Chrome?
|
||
| Rox Cox Profil |
#4 · Zasláno: 21. 5. 2009, 19:17:42 · Upravil/a: Rox Cox
Teď jsem objevil zvláštní věc. Když se neoznačí žádný text, tak se tag nezapíše.
|
||
| fajzen Profil |
trochu som to upravil, funguje to v FF, Opere, IE6
Chrome som netestoval v IE nefunguje to, že ak niečo napíšeš, potom klikneš niekam dostredu toho textu, ale nič neoznačíš, aby to ten tag hodilo na pozíciu kurzoru, takže do stredu toho textu... v Opere aj FF to ide, v IE sa mi to nepodarilo rozbehať, v ňom sa tag hodí na koniec nextu JavaScript: function AtF(tag, kam)
{
try { // IE
var vyber= document.selection.createRange();
if(vyber.parentElement().id == kam)
document.selection.createRange().text = "[" + tag + "]" + vyber.text + "[/" + tag + "]";
else
document.getElementById(kam).value+= "[" + tag + "][/" + tag + "]";
}
catch(e) {
try { // FF
mozWrap(document.getElementById(kam), "[" + tag + "]", "[/" + tag + "]");
}
catch(e) { // inak klasicky
document.getElementById(kam).value+= "[" + tag + "][/" + tag + "]";
}
}
}
function mozWrap(txtarea, lft, rgt)
{
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd==1 || selEnd==2)
selEnd=selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + lft + s2 + rgt + s3;
}
|
||
| Rox Cox Profil |
#6 · Zasláno: 22. 5. 2009, 15:30:26
Tak teď už je to úplně perfektní. Díky moc!!!
|
||
|
Časová prodleva: 17 let
|
|||
0