Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

weaver

[Resolvido] []Seleção de texto

Recommended Posts

estou precisando simplesmente de que quando o usuário selecionar um trecho do texto e aperta no botão ele insira antes e depois da seleção um texto, eu já tentei várias formas mas ele não quer funcionar.(isso numa textarea)

tipo:

document.getElementById("id").value+='textoantes'+selecao+'textodepois';

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script language="JavaScript">

function InsereTexto()

{

var texto_sel = document.selection.createRange().text;

 

if (texto_sel != '')

document.frm.mensagem.value = "inicio " + texto_sel + " fim";

}

</script>

 

<form name="frm">

 

<textarea name="mensagem" id="mensagem" rows="7" cols="30"></textarea>

<input type="button" value="Inserir Texto" onClick="InsereTexto()">

Compartilhar este post


Link para o post
Compartilhar em outros sites

como nao? eu testei aqui antes de enviar e funcionou certinho

você está usando qual navegador? fez alguma mudança? aparece algum erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu script só funciona no internet explorer no FF não :/

e outra o script se eu tenho por exemplo

aaaaaaaaaaaaaaaaaaaaaaaaaaaaa e selecionar só os 3 primeiros "a" e apertar ele apaga os outros por que o value dele vai ser o valor da seleção mas eu quero que fique

inicio aaa fim aaaaaaaaaaaaaaaaaaaa

tô tentando dá os meus jeitos aqui mas até agora estaca zero

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, nao encontrei a solucao pro FF pq nao tem a funcao selection.createRange(), mas para o IE:

 

<script language="JavaScript">
function InsereTexto()
{
var texto_sel = document.selection.createRange().text;
var texto_novo = "";

	if (texto_sel != '')
	{
		texto_novo = (document.frm.mensagem.value.replace(texto_sel, ""));
		document.frm.mensagem.value = "inicio " + texto_sel + " fim " + texto_novo;
	}
}
</script>

<form name="frm">

<textarea name="mensagem" id="mensagem" rows="7" cols="30"></textarea>
<input type="button" value="Inserir Texto" onClick="InsereTexto()">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é...vlw então...

eu tô com umas idéias aqui mas eu precisaria identificar se tem texto antes da seleção e se não tem..

 

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

Post Mesclado

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

 

Consegui!!! (meio POG mas consegui) identificar a seleção no FF dai vim postar aqui para quem quiser.

Passei duas horas lendo coisa aqui para tentar e consegui ^^

texto = document.getElementById("mensagem");
browser = navigator.appName; 
if(browser != "Microsoft Internet Explorer"){
sel_ff_texta = texto.value.substr(texto.selectionStart, texto.selectionEnd - texto.selectionStart);
alert(sel_ff_texta);
}
else{
sel_ie = document.selection.createRange().text;
if(sel_ie != ''){
alert(sel_ie);
}
}
}

imagino que esse código possa ser reduzido e é isso que eu estou fazendo ;) vlw andreia por tudo ajudou muito ³³

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.