Autor | Zpráva | ||
---|---|---|---|
panterek Profil |
#1 · Zasláno: 21. 1. 2010, 07:32:02
Měl bych dotaz...je to nejspíš naprosto triviální věc, bohužel neumím s javascriptem, takže pro mě těžké...rád bych jej ale pochopil..Pro upřesnění problému bude nejlepší odkaz na testovací stránku
http://danger.bobinka.eu/test/zkouska.php Funguje téměř vše...vše, až na "odkaz" a pak úplně vpravo změna barvy.. Problém u odkazu: - když na to kliknete, vyjede přednastavený text, není třeba nic měnit, stačí hned kliknout na "odeslat" a udělá to 2 věci..vyjede html, což je v pořádku, jenže u výpisu z databáze to nevypíše nic...když se podívám do databáze přes phpmyadmin, tak je tam vše normálně, správně zobrazeno...tedy <a href...>Odkaz</a>..jen prostě z databáze nevidím žádný výstup. Když vyzkoušítě cokoliv jiného(tučné, kurziva atd...), tak vyjede jak html výstup, tak výstup z databáze.. Druhý problém je u těch barev, to bude asi blbost: - když si vyberete nějakou barvu, zobrazí se tagy [color=""][/color]..no a mezi ty uvozovky bych potřeboval, aby se vložila ta správná barva..aspoň na tohle jsem použil v javascriptu tohle: if (tag == 'color') { startTag = '[color=""]'; } ...jen nevím, jak tam dosadit tu barvu. A k tomuto je ještě jeden poslední problém, když tam dopíšete barvu ručně, tedy: [color="red"]červený text[/color] - tak jako html to vyjede v pořádku, text bude červený, ale výstup z databáze hází nesmysl...plete se mi tam tag [/img].. převodník html to bbcode: function htmlbb2($res) { $bbcode = array("<", ">", '[url="', "[/url]", "[img]", "[/img]", "", "", "[u]", "[/u]", "", "", "[s]", "[/s]", "[h2]", "[/h2]", "[h3]", "[/h3]", "[h4]", "[/h4]", "[h5]", "[/h5]", '[color="', "[/color]", "[code]", "[/code]", "[quote]", "[/quote]", '"]'); $htmlcode = array("<", ">", '<a target="_blank href="', "</a>", "<img src=\"", "\">", "<b>", "</b>", "<u>", "</u>", "<i>", "</i>", "<s>", "</s>", "<h2>", "</h2>", "<h3>", "</h3>", "<h4>", "</h4>", "<h5>", "</h5>", "<span style=\"color:", "</span>", "<code>Kód: <br /><table width=85% bgcolor=dimgray><tr><td bgcolor=ghostwhite>", "</td></tr></table></code>", "<quote>Citace: <br /><table width=85% bgcolor=dimgray><tr><td bgcolor=#ffffcc>", "</td></tr></table></quote>", '">'); $prom = stripslashes($res); $newtext = str_replace($htmlcode, $bbcode, $prom); $newtext = nl2br($newtext);//second pass return $newtext; } Pokud smažu z té funkce tagy [/img], tak se mi to do těch barev už neplete, ale zas by nefungovalo vkládání obrázků.. |
||
mattyZEM Profil |
Meine textarea.js:
function setSelectionRange(input,selectionStart,selectionEnd) { if(input.setSelectionRange) { input.focus(); input.setSelectionRange(selectionStart,selectionEnd); } else if(input.createTextRange) { var range=input.createTextRange(); range.collapse(true); range.moveEnd('character',selectionEnd); range.moveStart('character',selectionStart); range.select(); } } function uprava(textpre,textpost,pole) { var ele; if(ele=document.getElementById(pole)) { if(ele.setSelectionRange) { var start=ele.selectionStart; var end=ele.selectionEnd; ele.value=ele.value.substring(0,start)+textpre+ele.value.substring(start,end)+textpost+ele.value.substring(end); //var pos=start+textpre.length+textpost.length+(end-start)+1; setSelectionRange(ele,start,end+textpre.length+textpost.length); } else if(document.selection) { ele.focus(); document.selection.createRange().text=textpre+document.selection.createRange().text+textpost; } } } Návod na použití: <textarea name="cokoliv" id="text">ID musí být text (můžete upravit) <img src="smajly/1.gif" alt=":-)" onclick="uprava('[color=red]','[/color]','text')" alt="Něco"> Ještě je tam možnost zobrazit nějaký titulek: <img src="smajly/1.gif" alt=":-)" onclick="uprava('[color=red]','[/color]','text')" onmouseover="document.getElementById('nadtext').innerHTML=this.alt" onmouseout="document.getElementById('nadtext').innerHTML=''" alt="titulek, tenhle text se zobrazí o řádek níž"> <p id="nadtext"></p> Přejděte od ARRAY k PREG_REPLACE, je to mnohem inteligentnější systém :P |
||
panterek Profil |
#3 · Zasláno: 21. 1. 2010, 18:21:38
Ona ta barva [color="red"], musí být v uvozovkách, jinak se to nezobrazí..když do Vašeho skriptu uvozovky dodám, tak to samozřejmě nebere..ikdyž předpokládám, že tak se to nedělá :) To, co mám na stránkách jsem samozřejmě někde našel na netu, takže se v tom JS prd vyznám :) ten color jsem si tam sice dodělal sám, ale evidentně to není úplně ono...ten Váš skript tu barvu dopíše, jen bez těch uvozovek a kurzor se nenastaví mezi ty tagy, aby se mohlo hned psát...ale v tom skriptu, co mám na stránkách to je, tak se to pokusím najít a jen to tam doplnit...předpokládám, že to bude na řádek...Vám se to označí celé, to jsem našel, že má na svědomí tohle:
setSelectionRange(ele,start,end+textpre.length+textpost.length); nějak s tou orientací začít musím, že :) každopádně moc děkuji |
||
panterek Profil |
#4 · Zasláno: 22. 1. 2010, 09:59:40
Tak uvozovky jsem tam už úspěšně doplnil...teď už jen ten kurzor mezi tagy, jestli by někdo věděl...?
|
||
Časová prodleva: 16 let
|
0