• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Blue_Acid

Inserir opções na Text Area

7 mensagens neste tópico

Viva

Queria saber se alguem me sabe dizer como é k eu faço um sistem tipo este de escrever no forum, em que tenho um quantidade de texto seleccionado, e dp ao carregar num botão ele no inicio e fim do texto coloca tags html, ou umas tags proprías.

Queria uma coisa simples neste momento, pois apenas preciso de meter Negritos e Itálicos

Um Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui tens uma maneira de ir buscar o texto selecionado de uma pagina. Presumo que apartir daqui consigas fazer o resto.

<html>


<head>
<title></title>
<script type="text/javascript">
<!--
function getSel()
{
var txt = '';
var foundIn = '';
if (window.getSelection)
{
	txt = window.getSelection();
	foundIn = 'window.getSelection()';
}
else if (document.getSelection)
{
	txt = document.getSelection();
	foundIn = 'document.getSelection()';
}
else if (document.selection)
{
	txt = document.selection.createRange().text;
	foundIn = 'document.selection.createRange()';
}
else return;
document.forms[0].selectedtext.value = "<b>" + txt + "</b>"; /* aqui agarro no texto q queres e ponho as tags desejadas */
}
// -->
</script>

</head>


<body>

Seleciona um pouco deste texto e pressiona o butão do formulario ou o link  <br />

<form action="get">
<input type="button" value="Ver texto selecionado" onmousedown="getSel()" />
<a href="#" onmousedown="javascript:getSel(); return false" class="page">ou Ver Texto Selecionado</a><br />

<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>
</center>


</body>

</html>

Boa sorte.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

unsignedint obrigado pela ajuda, vou testar e depois aviso se resultou ou ñ.

Um abraço  :D

---------------------------

Já testei, é quase isso o texto que eu quero seleccionar é o que está dentro da Text Area, e não texto de fora.

É uma coisa semelhante ao que se faz aki no forum, para escrever os posts.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha aqui está um exemplo que consegui fazer e por a correr, mas tem um erro, pois não sei porque corre bem no FF e no IE seleciona tudo ?!!

Estranho.

<html>
<head>
<title></title>
<script language="JavaScript">
function display(){
	var txtarea = document.getElementById('entrada');
        var str = txtarea.value.substring(document.getElementById('entrada').selectionStart,document.getElementById('entrada').selectionEnd);  
	document.getElementById('resultado').innerHTML=str;    
} 
</script>
</head>
<body>
<form id="frm1" name="frm1">
<textarea name="entrada" id="entrada" rows="10" cols="70">Aqui tens algum texto para selecionar </textarea>
<br />
<a href="#" onClick="display();" >depois de selecionado o texto clica aqui </a>
<br />
<textarea rows="10" cols="70" id="resultado" name="resultado"></textarea>

</form>
</body>
</html>

Em ultimo caso resta-te analisar o codigo do forum :D

Boa sorte + 1 vez.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela ajuda, começo a perceber a ideia, mas tipo eu quero escrever na TextArea e fazer a alteração nessa mesma TextArea.

Bem tenho k arranjar um exemplo para ver o codigo.

Um Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tenho aqui um exemplo que funciona em tudo que testei, mas não me apetece explicar como funciona... se entenderes optimo, se n, alguem que explique que eu n tou com paciência  :bored:

var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_win = ((clientPC.indexOf("win") != -1) || (clientPC.indexOf("16bit") != -1));

var bbtags = new Array("[b]", "[i]", "[u]", "[s]", "[url]", "[email]", "[/b]", "[/i]", "[/u]", "[/s]", "[/url]", "[/email]");
var bbcode = new Array();

function AddTextFormat(tag) {
var body = document.forms[0].elements['nome_da_textarea'];

theSelection = false;

if ((clientVer >= 4) && is_ie && is_win) {
	theSelection = document.selection.createRange().text;

	if (theSelection) {
		document.selection.createRange().text = bbtags[tag] + theSelection + bbtags[tag+6];
		theSelection = "";
	}

	return;
} else if (body.selectionEnd && (body.selectionEnd - body.selectionStart > 0)) {
	// Code obtained from:
	// http://www.massless.org/mozedit/

	var selLength = body.textLength;
	var selStart = body.selectionStart;
	var selEnd = body.selectionEnd;

	if (selEnd == 1 || selEnd == 2) {
		selEnd = selLength;
	}

	var s1 = (body.value).substring(0, selStart);
	var s2 = (body.value).substring(selStart, selEnd)
	var s3 = (body.value).substring(selEnd, selLength);

	body.value = s1 + bbtags[tag] + s2 + bbtags[tag+6] + s3;

	return;
}
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nazgulled grato pela tua ajuda, tambem não te preço que me expliques o codigo, mas gostava de saber como faço a interacção com a TextArea.

Obrigado

Um Abraço  :D

----------------------------------

Avisa se poderes como fazes com o teu código. Eu fui ao site que estava na PUB do script, e saquei um script k lá estava.

Fiquem bem  :ipool:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora