Autor Zpráva
lopik007
Profil
Zdravím, již delší dobu mám jeden script, který má být údajně funkční, a taky, že je, ale u mě prostě nejde. Čím to může být? Pomůže mi někdo z vkládáním formátování do textarea?

Zde je kód zápisu do HTML:
<script type="text/javascript" src="javascript/nahled.js"></script>
<div id="nahled"><textarea name="text" style="width:750px;height:550px;border:none;"readonly="readonly" onkeyup="javascript:nahled();"><?php include("inc/text/jidelni_listek") ?></textarea>

Moderátor Joker: Kód obsahuje BBtagy rozpoznávané i touto diskusí. Zrušil jsem jejich převádění.
Zde je script pro vkládání formátování do textarea:
function smajlik(smajlik) {
document.forms.vzkaz.zprava.focus();
document.forms.vzkaz.zprava.value=
document.forms.vzkaz.zprava.value+smajlik
nahled();
}

function tagy(type,info) {
var nametag=window.prompt(info);
if(nametag != '' && nametag != null) {
document.forms.vzkaz.zprava.focus();
document.forms.vzkaz.zprava.value=
document.forms.vzkaz.zprava.value+'['+type+']'+nametag+'[/'+type+']'
nahled();
} else {
if(nametag == '' || nametag == null) {window.alert('Tato funkce');}
}
}

function nahled() {
var tmp=document.all.zprava.value;
while (tmp.indexOf("01") > 0) tmp=tmp.replace("01","\<img src=\"http://bartovicanka.cz/images/smiles/1.png\" alt=\"\"\ />");
while (tmp.indexOf("02") > 0) tmp=tmp.replace("02","\<img src=\"http://bartovicanka.cz/images/smiles/2.png\" alt=\"\"\ />");
while (tmp.indexOf("03") > 0) tmp=tmp.replace("03","\<img src=\"http://bartovicanka.cz/images/smiles/3.png\" alt=\"\"\ />");
while (tmp.indexOf("04") > 0) tmp=tmp.replace("04","\<img src=\"http://bartovicanka.cz/images/smiles/4.png\" alt=\"\"\ />");
while (tmp.indexOf('\n') > 0) tmp=tmp.replace("\n","\<br /\>");
while (tmp.indexOf('[b]') > 0) tmp=tmp.replace("[b]","\<b/\>");
while (tmp.indexOf('[/b]') > 0) tmp=tmp.replace("[/b]","\</b/\>");
while (tmp.indexOf('[i]') > 0) tmp=tmp.replace("[i]","\<i/\>");
while (tmp.indexOf('[/i]') > 0) tmp=tmp.replace("[/i]","\</i/\>");
while (tmp.indexOf('') > 0) tmp=tmp.replace("","\<s/\>");
while (tmp.indexOf('') > 0) tmp=tmp.replace("","\</s/\>");
document.all.nahled.innerHTML=tmp;
}
Str4wberry
Profil
Možná by bylo vhodné uvést, co není funkční. Jinak na vkládání značek se můžeš podívat do zdejšího JavaScriptu a náhled je lepší generovat na serveru.
lopik007
Profil
Str4wberry:
Není funkční to formátování textu v textarea.
Str4wberry
Profil
Tak to přesně si můžeš vypůjčit ze zdejšího skriptu, kde 100% funkční je.
mckay
Profil
lopik007:
Chlape, chlape, už jsi se byl po těch dvou dnech vyspat? Tím co jsi právě teď odpověděl Str4wberrymu jsi tomu opravdu nasadil korunu.

Edit:
Tady Chamurappi radí, jak na to.
lopik007
Profil
mckay:

Ještě jsem se nešel vyspat, jsem sice mimo, ale počkám si na večer. Navíc nemůžu jít spát. Bo když půjdu tak si bude klient myslet, že nedělám
lopik007
Profil
Jsem tady, a jsem ready. Pomůžete mi někdo s tím proč mi ten script nejde?
Str4wberry
Profil
Tak si můžeš přečíst, co jsme ti psali.
lopik007
Profil
Str4wberry:
Ze kterého zdejšího?
jenikkozak
Profil
lopik007:
[#5] mckay ti dal odkaz na vlákno, kde máš vše uvedené. To je ten skript, o němž píše Str4wberry, tedy skript, zajišťující vkládání částí kódu do elementu textarea na této diskusi.
lopik007
Profil
jenikkozak:

Jo, jenže mi se tagy před text vypisují, já chci jen aby to vypadalo jako když se píše v TinyMCE, a jelikož mi můj web TinyMCE nepovolí, tak mi nezbyde nic jiného než textarea.

V textarea by to potom vypadalo takto:

Tučný text atd.
Joker
Profil
lopik007:
jelikož mi můj web TinyMCE nepovolí
Cože? Když tam jde dát vlastní Javascript, jaktože ne TinyMCE?

Jo, jenže mi se tagy před text vypisují, já chci jen aby to vypadalo jako když se píše v TinyMCE
Snažil bych se použít něco už hotového (kromě TinyMCE jsou i jiné, třeba CKEditor a další).
Programovat si pro stránku vlastní editor mi přijde stejně zbytečné jako znovu vynalézat kolo, dá to spoustu práce a stejně to nebude tak dobré jako ty už existující, které mají za sebou roky vývoje.
lopik007
Profil
Joker:
Jaktože nejde TinyMCE to nevím, prostě jde mi jen textarea s BBCode.

Kdyby šlo dát na web hotový TinyMCE, nebo jakykoli jiný editor, tak bych se neptal.
Bubák
Profil
lopik007:
Fascinují mne tvé dotazy, která málokdy pochopím a taky to, že když se před tebou objeví malý problém, vymyslíš obskurní řešení a ptáš se, jak ho zrealizovat. Jsi větším průkopníkem slepých cest, než Jára Cimrman.

Kdyby šlo dát na web hotový TinyMCE, nebo jakykoli jiný editor, tak bych se neptal.
Takže pokud to chápu, chceš vymyslet jiný editor, který také nebudeš umět dát na web.

jelikož mi můj web TinyMCE nepovolí
Nejsem sám, kdo se tomu diví, co tak začít tím, proč ti nejde zprovoznit TinyMCE.
lopik007
Profil
Bubák:
1) No takže chci aby, když vložím mezi text BBCode
[b][/b]
tak chci aby to v textarea vypadalo rovnou jako tučný text. Seznam mých BBCode
[b][/b]
[i][/i]
[u][/u]
[s][/s]
[img][/img]
[hs][/hs]
[url][/url]
[code][/code]
[size][/size]


2) Proč to nejde zprovoznit to já fakt nevím, jelikož to na dalším webu co jsem dělal jde. Přitom to vypadá stejně, jako stejný zápis, jako u toho co jsem dělal.
_es
Profil
lopik007:
chci aby, když vložím mezi text BBCode ... tak chci aby to v textarea vypadalo rovnou jako tučný text.
To sa v značke textarea nedá. Tam sú všetky znaky celého obsahu textarea vždy rovnakého druhu písma.
lopik007
Profil
_es:
Do textarea se vloží tagy, ale pak to vypadá takto:
 Text 

Jde mi celou dobu o to, zda by šel vkládat přímo reálný náhled, tzv. kdybych klikl na ikonku s obrázkem B, tak by byl přímo tučný text, a ne aby bylo:
 Text 

Šlo by to?
_es
Profil
lopik007:
Máš nejakú poruchu chápavosti?
V textarea to nejde, ak to chceš, musíš použiť niečo iné, nie značku textarea, tak ako niečo iné používa aj TinyMCE, ktorý ti tu radili.
Bubák
Profil
lopik007:
Šlo by to?
Šlo třebas v DIVu, ostatně o atributu contenteditable taky neslyšíš prvně!
lopik007
Profil
Bubák, _es:
Tak jo chci něco na způsob TinyMCE, ale nebude to TinyMCE

Navíc nevím proč by to nemělo jít když jsem tady vypsal script pro náhled na text v textarea v reálném čase, viz #1
Bubák
Profil
lopik007:
nevím proč by to nemělo jít
Tipnul bych si na chybu mezi klávesnicí a židlí, procesor zpracuje jenom jednu informaci, selhává zápis do paměti, čtení paměti a též větvení else if funguje nestandardně.
_es
Profil
lopik007:
Tak jo chci něco na způsob TinyMCE, ale nebude to TinyMCE
Tipujem, že to bude nič.

Navíc nevím proč by to nemělo jít když jsem tady vypsal script pro náhled na text v textarea v reálném čase
Ja som si zase spravil skript, ktorý vykoná nekonečnú slučku do 5 sekúnd. A tiež mi nefungoval.
Keď neveríš, tak skús vytvoriť HTML kód s textarea, v ktorej bude časť text tučným a časť textu obyčajným písmom.
Joker
Profil
lopik007:
Proč to nejde zprovoznit to já fakt nevím
No, „Mám problém zprovoznit TinyMCE, tak si ho radši naprogramuju sám znovu“ je svérázné řešení.
Nebylo by lepší se nejdřív zaměřit na tenhle problém? Už kvůli tomu, že jestli tam fakt kvůli něčemu nelze zprovoznit TinyMCE (nepravděpodobné, leč teoreticky možné), může na to narazit i ten vlastní editor. A zjistit po X hodinách programování, že to narazilo na úplně stejný problém, by bylo poněkud trapné.

Tak jo chci něco na způsob TinyMCE, ale nebude to TinyMCE
Můj názor je stále takový, že je nesmysl znovu vynalézat kolo.
Navíc, nic ve zlém, ale upřímně: Mám pochybnosti, když vlastní WYSIWYG editor chce programovat někdo, kdo ani nedokáže zjistit proč na stránce nefunguje TinyMCE.

Každopádně, pokud jde o dotaz, Bubák už napsal odpověď (když pominu, že to už je alespoň třetí dotaz na zhruba stejný problém za tenhle měsíc).

_es: Ten kód v prvním příspěvku asi fungovat nebude, protože některé ty BB značky rozeznalo i tohle fórum a části kódu požralo.
Můžu to opravit.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0