Stránka 1 z 1

bbcode a IE

Napsal: stř 15. pro 2010, 17:09
od lord.zealot
Ahoj vsem,

nasel jsem script a trosku jsem si ho upravil, ale nefunguje mi v IE. Ostatni prohlizece jsou v pohode. Potreboval bych script doladit, aby byl funkci i pro explorer. Nejsem zrovna guru v javascriptu takze za jakoukoliv radu budu vdecny.

kod pro index.html
<html lang="cs">
<head>
<script type="text/javascript" src="js/js_insert.js"></script>
</head>
<body>
<div id="tu"></div>
<form name="frm" onsubmit="return false">
<a href="#" onClick="bbCode('b', true)">B</a> |
<a href="#" onClick="bbCode('i', true)">I</a> |
<a href="#" onClick="bbCode('u', true)">U</a> |
<br>
<textarea name="text" cols="100" rows="15" tabindex="2"></textarea>
<button onclick="document.getElementById('tu').innerHTML = document.frm.text.value;">POšli</button>
</form>
</body>
</html>

kod pro js_insert.js

var startTag;
var endTag;
var bb;
var inText;
var predText;
var zaText;
var enter;

function bbCode(tag, parovy){

var textarea = document.frm.text;
if (typeof textarea.selectionStart != 'undefined') { //vse mimo IE
var selection = textarea.value.substring(textarea.selectionStart, textarea.selectionEnd);
var stringStart = textarea.selectionStart;
var stringEnd = textarea.selectionEnd;
predText = textarea.value.substring(0,stringStart);
var konec = document.frm.text.value.length;
zaText = textarea.value.substring(stringEnd, konec);
} else if (typeof document.selection != 'undefined') { //IE
var selection = document.selection.createRange().text;
} else {
//alert('Bug!');
}

if(parovy == true){
startTag = '<' + tag + '>';
endTag = '</' + tag + '>';
inText = selection;
bb = predText + startTag + inText + endTag + zaText;
}else if(parovy == false){
startTag = '<' + tag + '>';
endTag = '';
enter = '\n'
textarea.focus();
}

if(tag == 'url'){
if(inText == false){
inText = 'Odkaz';
}else{
inText = selection;
}
startTag = '<a href="http://www.example.com">';
endTag = '</a>';
}

if(tag == 'img'){
if(inText == false){
inText = 'http://www.adresa-obrazku.cz/obrazek.jpg';
}else{
inText = selection;
}
startTag = '<img src="';
endTag = '">';
}
bb = predText + startTag + inText + endTag + zaText;
document.frm.text.value = bb;
}

Re: bbcode a IE

Napsal: stř 15. pro 2010, 23:18
od arxeiss
Je tam problém, ve všech prohlížečích je jedno jestli jsi v textarei, nebo v inputu, ale v IEčku ne. Každý ten element musí mít jiné JS. Takže já ti tu můžu dát funkci která funguje v textarei. Což si myslím, že taky potřebuješ. Ale vážně se mi to nechce hledat v tvojem kódu kde je chyba. A stejně jsem jednu funkci okopčil z PHPBB fóra.
Takže pokud chceš tak ti to sem hodím. Myslím, že tam mám i nějaké komentáře

Re: bbcode a IE

Napsal: stř 15. pro 2010, 23:27
od lord.zealot
To vis, ze bych byl rad. Postni to prosim - budu dluznikem. Uz se s tim morduju dost dlouho.

Re: bbcode a IE

Napsal: stř 15. pro 2010, 23:53
od arxeiss
Stáhni
Tak komentáře tam nemám, ale pokud nebudeš něco chápat, tak ti zkusím odpovědět, pokud jěště si to budu pamatovat :)

Re: bbcode a IE

Napsal: čtv 16. pro 2010, 18:04
od lord.zealot
Hele clovece ja ti dekuju, ale vubec tomu nerozumim. Nejak se v tom nevyznam. Netusim jakej k tomu udelat html kod ani kde definovat jaky znaky to ma po kliknuti vlozit.

Re: bbcode a IE

Napsal: čtv 16. pro 2010, 19:22
od arxeiss
Používá se to úplně stejně jako to tvoje, s tím rozdílem, že ty když chceš něco tučné, tak dáš
bbcode("",true);
u mě je to bbcode("","");
Podle mě je to tak lepší, protože např u odkazu volám toto
bbcode("Odkaz"); a kurzor ti to přesune vlastně mezi ty 2 parametry. Pokud označíš text, tak ho to vloží mezi ty 2 parametry, stejně jako zde na fóru

Re: bbcode a IE

Napsal: pát 17. pro 2010, 10:21
od lord.zealot
Takto jsem dal html stranku, ale tucne me to nevklada. Ten tvuj kod jsem nijak neupravoval, ale nefunguje to.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">


<script type="text/javascript" src="bbcode.js"></script>

<title>doplnit</title>
</head>
<body>
<div id="tu"></div>
<form name="frm" onsubmit="return false">
<a href="#" onClick="bbCode("b","true")">B</a> |
<br>
<textarea name="text" cols="100" rows="15" tabindex="2"></textarea>
<button onclick="document.getElementById('tu').innerHTML = document.frm.text.value;">POšli</button>
</form>
</body>
</html>

Re: bbcode a IE

Napsal: pát 17. pro 2010, 14:26
od arxeiss
tak v tom kódu musíš nastavit do jaké textarey se to má vkládat

V bbcode.js je na 5.řádku

Kód: Vybrat vše

var BBarea = document.getElementById("nejakeID");
Tak tady nastavíš, se kterou textareou budeš pracovat.
A pak někde vložíš tlačítko, např

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('[b]','[/b]')"/>

Re: bbcode a IE

Napsal: pát 17. pro 2010, 15:12
od lord.zealot
Jsem trouba, sorry.

Pokud bys jeste mohl, hodila by se mi i moznost vkladat tagy misto bbcodu tedy neco jako

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('<b>','</b>')"/>
nicmene kdyz dam neco ve stylu

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('<span style="color: black">','[/span]')"/>
tak to nejde kvuli uvozovkam. Jde to nejak obejit?

Re: bbcode a IE

Napsal: pát 17. pro 2010, 15:21
od arxeiss
jo

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('<span style=\"color: black\">','[/span]')"/>
Zpětné lomítko

Re: bbcode a IE

Napsal: pát 17. pro 2010, 15:28
od lord.zealot
ja to vyresil " a uz to slape uplne v pohode. Lomitko me taky mohlo napadnou kua.

sorry ze jsem otravoval a diky moc za tvou trpelivost. Jsem rad, ze to konecne slape a jsem dluznik.

diky

Re: bbcode a IE

Napsal: pát 17. pro 2010, 16:03
od arxeiss
Jinak taky jsem používal BBkódy, ale zjistil jsem, že to není to pravé. Lepší je WYSIWYG editor. Ovšem tam už máš těžší ošetření proti tomu ať uživatel nezadá JavaScript apod...

Re: bbcode a IE

Napsal: pát 17. pro 2010, 21:29
od lord.zealot
tak pockej, chces me rict, ze se s tim nervuju a je neco lepsiho. Sem s tim :-D

Re: bbcode a IE

Napsal: sob 18. pro 2010, 12:25
od arxeiss
Hledej v googlu WYSIWYG editor, je jich plno, osobně používám TinyMCE a jsem s ním jakžtakž spokojený.

Re: bbcode a IE

Napsal: pon 14. úno 2011, 00:50
od lord.zealot
Arxeissi potrebuju jeste tvou pomoc.

Stahnul jsem si ten TinyMCE editor a je to skutecna bomba, ale mam problem s tim, ze me na te strance prestal fungovat jiny onclick kod. Pokud z indexu smazu vse tykajici se TinyMCE tak onclick kodu funguje v poradku, ale jinak ne. Jenze ja bych potreboval napasovat tam oboje. Nemas s tim nejakou zkusenost?

Re: bbcode a IE

Napsal: pon 14. úno 2011, 14:52
od arxeiss
je to divné, já teda mám TinyMCE v jQuery protože taky na stránkách jQuery používám, a taky problém jsem neměl. Hoď to kdyžtak někam na net nebo tak, mrknu