| 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