Ir para conteúdo

POWERED BY:

Arquivado

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

Raziel Nomack

Adicionar valores no começo e fim da seleção

Recommended Posts

<script type="text/javascript">

 

function addsmiley(myValue)

{

var myField = document.form2.texto;

if (document.selection)

{

myField.focus();

sel = document.selection.createRange();

sel.text = myValue;

}

//MOZILLA/NETSCAPE support

else if (myField.selectionStart || myField.selectionStart == '0')

{

var startPos = myField.selectionStart;

var endPos = myField.selectionEnd;

myField.value = myField.value.substring(0, startPos)

+ myValue + myField.value.substring(endPos, myField.value.length);

}

else

{

myField.value += myValue;

}

}

function getSel(type)

{

var txt = '';

if (window.getSelection)

{

txt = window.getSelection();

}

else if (document.getSelection)

{

txt = document.getSelection();

}

else if (document.selection)

{

txt = document.selection.createRange().text;

}

else return;

var texto2 = document.form2.texto.value;

document.form2.texto.value = texto2.replace(txt, '['+type+']' + txt + '[/'+type+']');

}

 

 

</script>

 

<form name="form2" method="post" action="teste.php">

<img src="images/msn/anjomsnwebpt.gif" alt=":)" onclick="addsmiley('(A)')" />

<img src="images/msn/bahhhhmsnwebpt.gif" alt="8o|" onclick="addsmiley('8o|')" />

<img src="images/msn/beijomsnwebpt.gif" alt="(K)" onclick="addsmiley('(K)')" />

<input type="button" value="B" onclick="getSel('b');" />

<input type="button" value="I" onclick="getSel('i');" />

<input type="button" value="S" onclick="getSel('s');" />

<input type="button" value="<BR>" onclick="addsmiley('[br]');" />

<br />

<textarea name="texto" cols="50" rows="5"></textarea>

<br />

<input type="submit" value="ok" />

</form>

 

 

Os Smileys foi fácil, porém falta os String

 

No ie tah funcionando, ele pega a seleçao e subtrai e transforma, mas e no firefox?

 

acho que o erro tah nessas linhas aki....

 

 

var texto2 = document.form2.texto.value;

document.form2.texto.value = texto2.replace(txt, '['+type+']' + txt + '[/'+type+']');

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom em primeiro lugar é contra as regras do forum postar para fazer o topico c destacar!!em segundo lugar ninguem aki tem a obrigação de te ajudar!!

Basta conferir o que fiz errado!

então pq você naum confere??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu deus, só fiz uma pergunta, e outra copiei sim, pois não sei javascript, ajeitei o código com o pouco que sei, desculpa pela exclamação. Fez soar orden... não era a intenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Funcção que stou com problema não é a de cima, e sim o getselection, que não funciona no FF, se o texto está dentro de uma textarea, pois perde o foco.function getSel(type){var txt = '';if (window.getSelection){txt = window.getSelection();}else if (document.getSelection){txt = document.getSelection();}else if (document.selection){txt = document.selection.createRange().text;}else return;var texto2 = document.form2.texto.value;document.form2.texto.value = texto2.replace(txt, '['+type+']' + txt + '[/'+type+']');}Peço encarecidamente, a ajuda de qualquer um que saiba javascript pois eu não sei, e tentei o cão para fazer funcionar, revirei o google, e não sei se quer aplicar um focus() de maneira correta. se olharem irão perceber, que as duas funções são copiadas, e levemente adaptadas para fazer um menu de inserção de BBcode.Estou tentando desenvolver um, pois em PHP (que ai sim é minha area já fiz um BBcode, para XHTML 1.1, pois meus sites são todos 100% standart. Como irei fazer um forum em um site 1.1, se todos os rich text editor colocam os malditos <b>, ou <strong>....Desculpa mesmo, aquele exclamação soou orden, e na realidade quiz mostrar desespero.Soh quero fazer o que o botãozinho B aki em cima faz, o resto é comigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o getselection funciona perfeitamente no ff

 

<html>	<head>		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />		<title>Untitled Document</title>		<script>		function insertAtCursor(myField, myValue) {		//IE support		if (document.selection) {		myField.focus();		sel = document.selection.createRange();		sel.text = myValue;		}		//MOZILLA/NETSCAPE support		else if (myField.selectionStart || myField.selectionStart == '0') {		var startPos = myField.selectionStart;		var endPos = myField.selectionEnd;		myField.value = myField.value.substring(0, startPos)		+ myValue		+ myField.value.substring(endPos, myField.value.length);		} else {		myField.value += myValue;		}		}		// calling the function		//insertAtCursor(document.formName.fieldName, 'this value');		</script>	</head>	<body>		<input type="text" name="in" id="in"><button type="button" onclick="insertAtCursor(document.getElementById('in'),'@')">hahahaha</button>	</body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

inferno

 

<html>	<head>		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />		<title>Untitled Document</title>		<script>		function change(myField) {				var myValue = '';					//IE support		if (document.selection) {			myField.focus();			myValue = document.selection.createRange().text;			myValue = "<b>"+myValue+"</b>";			sel = document.selection.createRange();			sel.text = myValue;		}		//MOZILLA/NETSCAPE support		else if (myField.selectionStart || myField.selectionStart == '0') {			var startPos = myField.selectionStart;			var endPos = myField.selectionEnd;			myValue = "<b>"+myField.value.substring(startPos, endPos)+"</b>";			myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);		} else {			myField.value += myValue;		}						}		// calling the function		//insertAtCursor(document.formName.fieldName, 'this value');		</script>	</head>	<body>		<textarea id="in"></textarea><button type="button" onclick="change(document.getElementById('in'))">hahahaha</button>	</body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado cara, era isso mesmo que eu precisava, quando li o //MOZILLA/NETSCAPE support, achei que se tratava do código acima, no primeiro post o addsmiley...Cara desculpa, como já falei não saco nada de script.. olha o ultimo Tópico que pus tu vai ver....----------------------------------------------------------------------------------------------------------------------------------------------Editei o código que me deu, agora basta definir no button o qual tag, e qual textarea ele vai apresenvar.<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <script> function change(tag, textarea) { var myField = document.getElementById(textarea) var myValue = ''; //IE support if (document.selection) { myField.focus(); myValue = document.selection.createRange().text; myValue = '[' + tag + ']' + myValue + '[/' + tag + ']'; sel = document.selection.createRange(); sel.text = myValue; } //MOZILLA/NETSCAPE support else if (myField.selectionStart || myField.selectionStart == '0') { var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myValue = '[' + tag + ']' + myField.value.substring(startPos, endPos) + '[/' + tag + ']'; myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length); } else { myField.value += myValue; } } </script> </head> <body> <textarea id="in"></textarea><button type="button" onclick="change('b', 'in')">hahahaha</button> </body></html>

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.