Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

20-04-2007 19:16

Script para trocar valor selecionado por códigos BBCode, funciona no IE e FF

<script language="JavaScript"> function addBalise(baliseOn,baliseOff) { var mess = document.form.teste; //Internet Explorer if (document.selection) { var mess = document.form.teste; var str = document.selection.createRange().text; var range = mess.createTextRange(); mess.focus(); var sel = document.selection.createRange(); sel.text = baliseOn + str + baliseOff; mess.focus(); range.move('textedit'); range.select(); } //Firefox else if (mess.selectionStart || mess.selectionStart == "0") { var startPos = mess.selectionStart; var endPos = mess.selectionEnd; var chaine = mess.value; var str = chaine.substring( mess.selectionStart, mess.selectionEnd ); mess.value = chaine.substring(0, startPos) + baliseOn + str + baliseOff + chaine.substring(endPos, chaine.length); //mess.selectionStart = startPos + instext.length; //mess.selectionEnd = endPos + instext.length; mess.focus(); } else { mess.value += instext; mess.focus(); } } </script> <form name="form" method="post" action=""> <input type="button" onclick="addBalise('<b>','</b>')" value="b"> <textarea name="teste" cols="80" rows="12"></textarea> </form>

1
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

17-06-2009 16:15

Tem como fazer isso utilizando jQuery?
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

17-06-2009 16:25

Não conheço. Mas é possível que tenha.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

17-06-2009 16:56

Será que não dá pra você dar uma procurada pra mim? ~^

Pois eu procurei aqui, mas não achei nada! ;/
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

17-06-2009 17:01

Complicado, falta de tempo :-(
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

17-06-2009 17:28

Isso é quase cross-browser, certo? Pois testei no IE7, Opera, Chrome, Safari, Firefox e Netscape...

Será que funciona nas versões mais antigas tb?

E tipo, tem como você modificar o script, pra quando ele alterar o valor adicionando os balise, no fim de tudo, pra ele selecionar o que foi selecionado anteriormente, porém, já com o balise? :D

anbrass
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

17-06-2009 19:17

Até tem sim, mas para variar no IE dá conflito. No caso somente quando você seleciona a palavra e aplica o bbCode, o IE não foca.

ADICIONADO

Dei uma estudada e parece que consegui uma solução para IE e FF, tanto selecionando quando adicionando, e dando o foco no final do textarea.

Já alterei no script original.

Agora chrome, Opera entre outros já não sei, é um lance de cada navegador fazer suas regras que é complicado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

18-06-2009 14:50

Não cara, eu não quero que no final ele dê focus no textarea.

Tipo assim:

No textarea tem o seguinte texto: Códigos na Web é o melhor fórum.

Daí eu seleciono a parte em negrito: Códigos na Web é o melhor fórum.

Daí clico no botão da função, ele adiciona o que foi selecionado entre as tags <B></B>, e no final deixa tudo o que foi modificado selecionado, como o que está em negrito: Códigos na Web é o melhor <b>fórum</b>.

Entendeu?
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

18-06-2009 15:06

Se for selecionar o conteúdo da caixa, aplica o select()
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

18-06-2009 18:06

Não todo o conteúdo, somente a o BBcode e o que está dentro dele... ;x
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

18-06-2009 18:19

Estuda esse script

<script> window.onload = function() { Alvo = document.getElementById("alvo"); var Base = Alvo.createTextRange(); Base.moveStart("character", 0); Base.moveEnd("character", 3 - Alvo.value.length); Base.select(); Alvo.focus(); } </script> <input type="text" id="alvo" value="abcde">

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

18-06-2009 19:02

Eu abri aqui no FF e não funcionou. Só funcionou no Internet Explorer, não tem outra forma disso ser um cross-browser ou quase um? O meu projeto precisa funcionar em praticamente todos os navegadores! :-{
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

18-06-2009 19:38

Realmente não funciona no FF, isso é uma base para você pesquisar para achar a solução para ele. Não conheço nada compatível com todos navegadores.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 284
Sexo: Masculino
Localização: Bahia
Contato:

Trocar valor selecionado no textarea para BBCode (FF e IE)

18-06-2009 22:00

É cara, muito obrigado por tentar ajudar, mas acho que vou ter que recorrer a um rich text editor qualquer mesmo... tipo o tiny mce... :/

Abração e obrigado!

flw
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado