Ir para o conteúdo
Blue_Acid

Inserir opções na Text Area

Mensagens Recomendadas

Blue_Acid    0
Blue_Acid

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
unsignedint    0
unsignedint

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Blue_Acid    0
Blue_Acid

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
unsignedint    0
unsignedint

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Blue_Acid    0
Blue_Acid

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

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;
}
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Blue_Acid    0
Blue_Acid

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:

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade