html tags в textarea
12 отговора
533 прегледа
html tags в textarea
имам textarea, в която има някакъв текст+хтмл тагове. Искам тия тагове да ги осветя. Например:
ala bala ala bala ala bala ala bala
е тия бр-та как да ги направя зелени?
:: No one lives forever ::
ala bala ala bala ala bala ala bala
е тия бр-та как да ги направя зелени?
:: No one lives forever ::
Re: html tags в textarea
Pri samoto pisane li da stava ili koga?
[линк]
Списание за Web технологии
[линк]
Списание за Web технологии
Re: html tags в textarea
да кажем, че имаш един прост хтмл и в него има textarea в която по default имаш некъв текст с малко хтмл тагове. Та може ли тея тагове да са в някакъв цвят
:: No one lives forever ::
:: No one lives forever ::
Re: html tags в textarea
мммм, текстареа има склонността да отменя действието на таговете. Т.е. каквото е в техтареа си излиза както е, докато не се затвори текстареата. Така че каквото и да прилагаш като таг или стил за да оцветиш таговете, не мисля че може да стане.
Освен ако някой няма друга идея.
--
Ела в мафията
Освен ако някой няма друга идея.
--
Ела в мафията
Re: html tags в textarea
отиди [линк]
user: test
pass: test
избираш "напиши"
нещо такова ли ти требе ?
user: test
pass: test
избираш "напиши"
нещо такова ли ти требе ?
Re: html tags в textarea
Ето тук една леко дърварска идея, съвсем набързо съчинена
:
<HTML>
<HEAD>
<TITLE> Text Area </TITLE>
<script language="JavaScript">
<!--
function InfoTxtMng(){
var TagBegin="<";
var TagEnd=">";
var FictTagBegin="&лт;";
var FictTagEnd="&гт;";
var ColorBegin="<font color=\"#008800\">";
var ColorEnd="<\/font>";
eval("var TagBeginRExp=/"+TagBegin+"/g");
eval("var TagEndRExp=/"+TagEnd+"/g");
eval("var FictTagBeginRExp=/"+FictTagBegin+"/g");
eval("var FictTagEndRExp=/"+FictTagEnd+"/g");
var ITContents=document.TForm.InfoTxt.value.toString();
var L1ITContents=ITContents.replace(TagBeginRExp,FictTagBegin);
var L2ITContents=L1ITContents.replace(TagEndRExp,FictTagEnd);
var L3ITContents=L2ITContents.replace(FictTagBeginRExp,(ColorBegin+FictTagBegin));
var L4ITContents=L3ITContents.replace(FictTagEndRExp,(FictTagEnd+ColorEnd));
// document.TForm.outerHTML="";
document.getElementById("ActIFr").style.visibility="visible";
document.frames("ActIFr").document.body.innerHTML=L4ITContents;
}
//-->
</script>
</HEAD>
<BODY>
<form name="TForm">
<textarea rows="30" cols="72" name="InfoTxt"></textarea>
<input type="buttom" value="COLORIZE TAGS" onclick="InfoTxtMng()" id="ColorButton">
</form>
<iframe id="ActIFr" width="50%" frameborder="1" scrolling="yes" style="visibility: visible"></iframe>
</BODY>
</HTML>
var FictTagBegin="&лт;";
var FictTagEnd="&гт;";
тези ти ги написах така, щото форума ги интерпретира като < и >
оправи си ги на латиница в кода....
Тъй като textarea не може да има различни цветове вътре (тя интерпретира всякакви tags като чист текст), единственото, за което се сетих е да вадиш резултата от оцветяването в нещо друго - примерно iframe...
Общо взето това е само първоначална идея за размисъл
от тук натаък можеш да си правиш разни гимнастики: примерно да разкарваш textarea-та (коментираният ред в скрипта) и на нейно място да показваш iframe-то и т.н.
Могат да се направят и още козметики, като примерно да се реплейснат подходящо enter-ите и tab-овете от входния стринг, за да бъде подреден както трябва изхода и т.н....
Абе това си е едно съвсем базово решение и то едва ли най-елегантното - дано да ти е от някаква полза....
PS: btw, докато пишех това, съвсем случайно открих, че тук във форума <бр>
работи (писах го на кирилица по обясними причини
). Не знам дали сте забелязвали - аз не бях 

<HTML>
<HEAD>
<TITLE> Text Area </TITLE>
<script language="JavaScript">
<!--
function InfoTxtMng(){
var TagBegin="<";
var TagEnd=">";
var FictTagBegin="&лт;";
var FictTagEnd="&гт;";
var ColorBegin="<font color=\"#008800\">";
var ColorEnd="<\/font>";
eval("var TagBeginRExp=/"+TagBegin+"/g");
eval("var TagEndRExp=/"+TagEnd+"/g");
eval("var FictTagBeginRExp=/"+FictTagBegin+"/g");
eval("var FictTagEndRExp=/"+FictTagEnd+"/g");
var ITContents=document.TForm.InfoTxt.value.toString();
var L1ITContents=ITContents.replace(TagBeginRExp,FictTagBegin);
var L2ITContents=L1ITContents.replace(TagEndRExp,FictTagEnd);
var L3ITContents=L2ITContents.replace(FictTagBeginRExp,(ColorBegin+FictTagBegin));
var L4ITContents=L3ITContents.replace(FictTagEndRExp,(FictTagEnd+ColorEnd));
// document.TForm.outerHTML="";
document.getElementById("ActIFr").style.visibility="visible";
document.frames("ActIFr").document.body.innerHTML=L4ITContents;
}
//-->
</script>
</HEAD>
<BODY>
<form name="TForm">
<textarea rows="30" cols="72" name="InfoTxt"></textarea>
<input type="buttom" value="COLORIZE TAGS" onclick="InfoTxtMng()" id="ColorButton">
</form>
<iframe id="ActIFr" width="50%" frameborder="1" scrolling="yes" style="visibility: visible"></iframe>
</BODY>
</HTML>
var FictTagBegin="&лт;";
var FictTagEnd="&гт;";
тези ти ги написах така, щото форума ги интерпретира като < и >
оправи си ги на латиница в кода....
Тъй като textarea не може да има различни цветове вътре (тя интерпретира всякакви tags като чист текст), единственото, за което се сетих е да вадиш резултата от оцветяването в нещо друго - примерно iframe...
Общо взето това е само първоначална идея за размисъл
от тук натаък можеш да си правиш разни гимнастики: примерно да разкарваш textarea-та (коментираният ред в скрипта) и на нейно място да показваш iframe-то и т.н.
Могат да се направят и още козметики, като примерно да се реплейснат подходящо enter-ите и tab-овете от входния стринг, за да бъде подреден както трябва изхода и т.н....
Абе това си е едно съвсем базово решение и то едва ли най-елегантното - дано да ти е от някаква полза....
PS: btw, докато пишех това, съвсем случайно открих, че тук във форума <бр>
работи (писах го на кирилица по обясними причини
Редактирано от Byd™ на
Re: html tags в textarea
мда, нещо такова, но не с толкова опции (align, list и т.н.) както и без възможост потребителя да задава цветовете, а аз да съм ги задал предварително и така да се появяват винаги
явно няма да стане с прост хтмл, но ако има решение с пхп или js...
:: No one lives forever ::
явно няма да стане с прост хтмл, но ако има решение с пхп или js...
:: No one lives forever ::
Re: html tags в textarea
<html>
<body>
<script language="JavaScript">
bodyTag="<BODY bgcolor=#ffffff MONOSPACE STYLE=\"font:10pt arial,sans-serif\">"
function formatC(what,opt) {
if (opt=="removeFormat") {
what=opt;
opt=null;
}
if (opt==null) Composition.document.execCommand(what);
else Composition.document.execCommand(what,"",opt);
pureText = false;
Composition.focus();
}
</script>
<select id="FontColor" language="javascript" onChange="formatC('forecolor',this[this.selectedIndex].value);this.selectedIndex=0";>
<option selected>цвят
<option value="red">червено
<option value="blue">синьо
<option value="green">зелено
<option value="black">черно
</select>
<iframe class="Composition" width="100%" id="Composition" height="190"></iframe>
<script><!--
Composition.document.open();
Composition.document.write(bodyTag);
Composition.document.close();
Composition.document.designMode="On";
// -->
</script>
<input type=hidden name=body>
</body>
</html>
Re: html tags в textarea
interesno, ...
a pishesh li w tazi textarea?
t.e, dawash li wazmozhnost da se promenia sudurzhanieto na textareata?
shtoto, ako e samo za pokazwane, izobsto ne ti e neobhodima ... textarea..
a pishesh li w tazi textarea?
t.e, dawash li wazmozhnost da se promenia sudurzhanieto na textareata?
shtoto, ako e samo za pokazwane, izobsto ne ti e neobhodima ... textarea..
Re: html tags в textarea
ами да, аз забелязх съвсем случайно като постнах първия message
:: No one lives forever ::
:: No one lives forever ::
Re: html tags в textarea
най-елегантния и читав начин е java applet/флаш, който да ти играе роля на текстареа и скрито поле, което да праща данните;
поне така мисля, на база скромния си опит.
или чакаш нов стандарт и нови браузъри, а и юзърите да започнат да ги ползват....
така де,...
поне така мисля, на база скромния си опит.
или чакаш нов стандарт и нови браузъри, а и юзърите да започнат да ги ползват....
така де,...