Ir para conteúdo
Fórum Script Brasil
  • 0

Script Não Funciona No Mozilla Me Ajudem ?


japanguitar

Pergunta

Não consigo pegar o texto selecionado dentro de uma TEXTAREA, e armazenar na variável... já tentei mas ele não pega o texto !!! blink.gif

Me ajudem !!! unsure.gif

PS: Já tentei getSeletion() e não consegui.... mad.gif

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

<html>
<head><title class="texto">----Formulário de Envio----</title>
<LINK REL="STYLESHEET" HREF="geral2.css" TYPE="text/css">

<script language='JavaScript'>
//////////////////////////////////////////////////////////////
//COPYRIGHT - REALWEB SOLUÇÕES LTDA.                        //                  
////////////////////////////////////////////////////////////// 

////////////////////////////////////////////////
// Método: testando()
//  
// Resumo: 
// Esse método testa a palavra para verificar se ela ela não está com os "#" na frente dela
////////////////////////////////////////////////

// Início do código
//////////////////////////////

function testando()
{ 
	if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           if(document.getSelection().text =='') //verifica se o texto não esta selecionado
                {
             document.form1.bt1.value="Codificar";//se não estiver selecionando entra a mensagem para seleciona-lo
           return false;
                }  
          }  
     else
       {
      if(document.selection.createRange().text =='') //verifica se o texto não esta selecionado
           {
         document.form1.bt1.value="Codificar";//se não estiver selecionando entra a mensagem para seleciona-lo
        return false;
           }
           }
           

}

// Fim testando()
//////////////////////////////

////////////////////////////////////////////////
// Método: decodifica()
//  
// Resumo: 
// Esse método muda o nome do botão para DECODIFICA o usuário caso a palavra  esteja com os "#" na frente dela
////////////////////////////////////////////////

// Início do código
//////////////////////////////
function decodifica()
{ 
	if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           if(document.getSelection().text.selectionStart('#',0)!= document.getSelection().text.selectionEnd('#'))
              {
        document.form1.bt1.value="Decodificar";//se não estiver selecionando entra a mensagem para seleciona-lo
       return false;
           }
          }  
     else
         {
       if(document.selection.createRange().text.indexOf('#',0)!=document.selection.createRange().text.lastIndexOf('#')) //verifica se o texto não esta selecionado
                {
               document.form1.bt1.value="Decodificar";//se não estiver selecionando entra a mensagem para seleciona-lo
           return false;
                 }
         }
    
}





// Fim decodifica()
//////////////////////////////




////////////////////////////////////////////////
// Método: codifica()
//  
// Resumo: 
// Esse método muda o nome do botão para CODIFICA o usuário caso a palavra não esteja com os "#" na frente dela
///////////////////////////////////////////////


// Início do código
//////////////////////////////
function codifica()
{ 
	if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
        if(document.getSelection().text != '') // Se a seleção não for vazia
            {
          document.form1.bt1.value= "Codifica"; // botão recebe CODIFICA
          return false;
           }    
          }  
     else
         {
       if(document.selection.createRange().text != '') // Se a seleção não for vazia
            {
          document.form1.bt1.value= "Codifica"; // botão recebe CODIFICA
          return false;
            }   
       
        }
       }
        
// Fim  codifica()
//////////////////////////////


////////////////////////////////////////////////
// Método: valida()
//  
// Resumo: 
// Esse método  não submete o texto se ele tiver vazio
///////////////////////////////////////////////


// Início do código
//////////////////////////////

function valida()
{ 

	if(document.form1.obs.value=='') // Se o documento for igual a vazio
	{
  alert('É preciso haver algum texto \n para submeter o formulário.');
  document.form1.obs.focus(); // volta o foco para o texto
  return false;
	}
	return true;
}

// Fim valida()
//////////////////////////////


////////////////////////////////////////////////
// Método: getSel()
//  
// Resumo: 
// Esse método introduz um caracter especial`("#") no fim e no início da palavra selecionada, desmembrando o texto e o reconstruindo,
// e verificando se a seleção não é vazia ou inválida.
///////////////////////////////////////////////


// Início do código
//////////////////////////////
function getSel()
    { 
      if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           txt = document.getSelection();  
           
          }     
     else
     {
    txt = document.selection.createRange().text;
        }
            
//  (document.selection) txt = document.selection.createRange().text;  
//	if (document.getSelection) txt = document.getSelection(); //se o texto estiver selecionado inicia o processo

	//else if (document.selection) txt = document.selection.createRange().text; //senão cria a instância do objeto range



    texto = document.forms['form1'].elements['obs'].value; // atribui o campo textarea a variável texto.
  
	texto = txt.replace(new RegExp('([\\f\\n\\r\\t\\v ])+', 'g')," ");//substitui caracteres inválidos com expressão regular


  if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
          if(document.getSelection().text =='') //verifica se o texto não esta selecionado
                {
              alert('Nenhum texto selecionado');//se não estiver selecionando entra a mensagem para seleciona-lo
              return false;
                }  
          }     
     else
     {
      if(document.selection.createRange().text =='') //verifica se o texto não esta selecionado
                {
              alert('Nenhum texto selecionado');//se não estiver selecionando entra a mensagem para seleciona-lo
              return false;
                }
   
        }   




	if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           if(document.getSelection().text !='')
              {
             document.form1.bt1.value = 'Decodificar';//mudando o texto do botão
              }   
          }     
     else
     {
    	if(document.selection.createRange().text !='')
              {
             document.form1.bt1.value = 'Decodificar';//mudando o texto do botão
              } 
        }   

    
    
      if (texto.indexOf('#',0)!=texto.lastIndexOf('#')) // se houver alguma criptografia no inicio ou no fim do arquivo
      {  
       novo ='';//cria a variavel novo e atribui vazio a ela
     for(i=0;i<texto.length;i++)
     { 
      //desmembra o texto em letras
      if(texto.charAt(i)!='#')
      {
   novo = novo + texto.charAt(i); //reconstrui o texto novamente
    
         }
          
                 
     }
     if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           document.getSelection().text = novo;//atribui a seleção do texto a variável novo que esta reconstruida
          }     
     else
     {
    document.selection.createRange().text = novo;//atribui a seleção do texto a variável novo que esta reconstruida
        }
     
    
      
      }
      else // aqui se ele não encontrou o # no texto ele faz a criptografia para substituição
      {
   
  string = texto;//cria a variável strig e atribui a ela o texto selecionado
  temp = texto; //cria a variável temp e atribui a ela o texto selecionado
  
   
   if(string.indexOf(' ',0)==string.lastIndexOf(' '))
  {  
   string = txt.replace(/(^\s*)|(\s*$)/g, "");
   string=txt.replace(string,'#'+string+'#');//faz a inserção dos caracteres na variável string
   
         if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
        alert(string);   
           document.getSelection().text=string;
           
          }     
     else
     {
    document.selection.createRange().text=string;
        }
   
     
  return true;
	}
   
    if(string.indexOf(' ',0)!=string.lastIndexOf(' '))
  {  
   string = txt.replace(/(^\s*)|(\s*$)/g, "");
   string=txt.replace(string,'#'+string+'#');//faz a inserção dos caracteres na variável string
   //document.form1.bt1.value="Codifica";
   if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           document.getSelection().text=string;
          }     
     else
     {
    document.selection.createRange().text=string;
        }

  return true;
	}
   
  else if(string.indexOf(' ',0)>0)
  {    string = txt.replace(/(^\s*)|(\s*$)/g, "");
   string= txt.replace(' ','');
   string=txt.replace(string,'#'+string+'#');//faz a inserção dos caracteres na variável string
   if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           document.getSelection().text=string;
          }     
     else
     {
    document.selection.createRange().text=string;
        }
   
  return true;
  }

   
   string = txt.replace(/(^\s*)|(\s*$)/g, "");
      string=txt.replace(string,'#'+string+'#');//faz a inserção dos caracteres na variável string
   
       if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7)
          {
           document.getSelection().text=string;
          }     
     else
     {
    document.selection.createRange().text=string;
        }//atribui a seleção a nova variável string com a inserções feitas
      string= txt.replace(' ','');
      return true;
      }
return true;

}

// Fim getSel()
//////////////////////////////

  
//////////////////////////////////////////////////////////////
//COPYRIGHT - REALWEB SOLUÇÕES LTDA.                        //                  
//////////////////////////////////////////////////////////////   
//Script feito por                                          //
//                                                          //
//Ricardo Araújo    - Desenvolvedor Web                     //
//Empresa : Real Web Soluções                               //
//Diretor : Felipe Moreno ( fmoreno@realweb.com.br )        //
//                                                          //
//Telefone : 3419 - 1095                                    // 
////////////////////////////////////////////////////////////// 


////////////////////////////////////////////////
// Método: contarPalavras();
// Parâmetro: this_field
//
// this_field -> Texto a ser traduzido (passado como um objeto - textarea)
//
// Resumo: 
// Esse método contabiliza o número de palavras que o usuário digitar no campo.
// Contempla a inclusão de caracteres especiais e descarta a contagem de números.
////////////////////////////////////////////////

function contarpalavras (this_field) {

// Cria variáveis de controle	
//////////////////////////////
var numero_palavras = true; // checa se existem palavras no campo
var numero_char = true;  // checa se existem caracteres no campo
limitePalavras = 100;// Determina o número máximo de palavras por tradução
numeroLooping = this_field.value.length;// Determina o número de loopings


// Início do código
//////////////////////////////

for  (i=0;i<=numeroLooping;i++) { // Repete de acordo com as palavras digitadas
 if (numero_palavras == null) 
  {
  numero_palavras = true;               // Impede um erro ao zerar ( deletar ) o campo.
  }
 if (numero_char == null)
  {
  numero_char = false;
  }
var conta_char = this_field.value.length;// Conta quantos caracteres foramn digitados até o momento
var todootexto = this_field.value + " "; // Margem de segurança para não apagar o que já foi digitado
var espaco_inicial = /^[^A-Za-z]+/gi; // Define que apenas letras contabilizam palavras
var texto_dropado = todootexto.replace(espaco_inicial, ""); // Armazena numa variável o texto sem espaços e contablizando apenas as letras 

var nao_alfanumericos_rExp = rExp = /[^A-Za-z]+/gi; // Armazena os caracteres não alfanuméricos
var textoapagado = texto_dropado.replace(nao_alfanumericos_rExp, " "); // Armazena numa variável o texto sem espaços , contabilizando letras e descartando a contagem de caracteres especiais.
var textoseparado = textoapagado.split(" ");// Separa os espaços
;
palavras = textoseparado.length -1;// Armazena numa variável a quantidade de palarvas menos a margem de segurança
if (todootexto.length <2) { // Zera a variável quando campo estiver em branco
palavras = 0; // Zera a variável quando campo estiver em branco
}
if (palavras == 1) { 
pluralpalavra = "       palavra"; // define se a palavra usada será no plural ou singular
}                           
else {
pluralpalavra = "       palavras"; // define se a palavra usada será no plural ou singular
}
if (conta_char == 1) {
pluralchar = " caracter"; // define se a palavra usada será no plural ou singular
} else {
pluralchar = " caracteres"; // define se a palavra usada será no plural ou singular
}
if (numero_palavras & numero_char) {
document.forms['form1'].elements['numero'].value = + palavras + pluralpalavra; // Atualiza o campo dinâmico
}
else {
if (numero_palavras) {
alert ("Contando Palavras:  " + palavras + pluralpalavra); // Se existir algum erro alerta de qualquer forma 
}
else {
if (numero_char) {
alert ("Contando Caracters:  " + conta_char + pluralchar); // Se existir algum erro alerta de qualquer forma 
      }
   }
}
return palavras; // retorna o valor atual das palavras digitadas
}
} 
// Fim do Método contarpalavra
//////////////////////////////////////////////////////////////


////////////////////////////////////////////////
// Método: cor()
//  
// Resumo: 
// Esse método informa o usuário caso o limite de palavras definido for ultrapassado.
////////////////////////////////////////////////

// Início do código
//////////////////////////////
function cor()
{
 if ( palavras > limitePalavras) // Informar o usuário caso o limite de palavras definido for ultrapassado
   {
	document.forms['form1'].elements['frase3'].value = "Limite Alcançado"; // Escreve tela limite alcançado  
	document.forms['form1'].elements['frase3'].style.color = "red"; // Muda a cor da palavra para vermelho
	document.forms['form1'].elements['max'].style.color = "red"; // Muda a cor do número para vermelho
   }
   else //  Informar o usuário caso o limite de palavras definido ainda não for alcançado
    {
     document.forms['form1'].elements['frase3'].value = "Limite Permitido";   // Escreve tela limite permitido
  document.forms['form1'].elements['frase3'].style.color = "green"; // Muda a cor da palavra para verde
  document.forms['form1'].elements['max'].style.color = "green"; // Muda a cor do número para verde
    }  	
}

// Fim do Método cor()
//////////////////////////////////////////////////////////////


////////////////////////////////////////////////
// Método: espacoUtil()
//  
// Resumo: 
// Esse método informa ao usuário o número de espaço em seu texto
////////////////////////////////////////////////

// Início do código
//////////////////////////////

function espacoutil()
{
 if (palavras == 0) // Conferem se existem palavras digitadas
 {	
 document.forms['form1'].elements['espaco'].value = 0; // Zera se não existirem palavras digitadas
 }
 else
 {
 document.forms['form1'].elements['espaco'].value = palavras - 1; // Calcula a quantidade de espaços  
 }  
}  

// Fim do Método espacoUtil()
//////////////////////////////////////////////////////////////


////////////////////////////////////////////////
// Método: sonic()
//  
// Resumo: 
// Esse método insere ao value do TextArea um valor nulo, para habilitar a função de focus.
////////////////////////////////////////////////

// Início do código
//////////////////////////////
function sonic()
{
 document.forms['form1'].elements['obs'].value = "";
 document.forms['form1'].elements['obs'].focus();

}

// Fim do sonic()
//////////////////////////////////////////////////////////////


////////////////////////////////////////////////
// Método: removeEspaco()
//  
// Resumo: 
// Esse método remove os espaços desnecessários do texto ao clicar no botão enviar
////////////////////////////////////////////////

// Início do código
//////////////////////////////
  

function removeEspaco()
 {  
  txt = document.forms['form1'].elements['obs'].value; // A variável recebe todo o texto
  
  txt2  = txt.replace(/^[^A-Za-z0-9.,!?:...@#$%¨¬&*()-–_=+{}`´^~áéíóúâêôàùäçüãõ;<>\n""'']+/gi, ""); // Corta os espaços iniciais.
  var nao_alfanumericos_rExp  = /[^A-Za-z0-9.,!?:...@#$%¨¬&*()-–_=+{}`´^~áéíóúâêôçàùäüãõ;<>\n""'']+/gi; // Corta os espaços desnecessários deixando apenas um espaço entre as palavras.
  document.forms['form1'].elements['obs'].value = txt2.replace(nao_alfanumericos_rExp, " ") // O textarea recebe o texto sem espaços.
  
  } 
// Fim do removeEspaco()
////////////////////////////////////////////////////////////// 
  
 // Fim do Script
//////////////////////////////////////////////////////////////


   
//////////////////////////////////////////////////////////////
//COPYRIGHT - REALWEB SOLUÇÕES LTDA.                        //                  
//////////////////////////////////////////////////////////////   
//Script feito por                                          //
//                                                          //
//Daniel Góes Silva - Desenvolvedor Web                     //
//Empresa : Real Web Soluções                               //
//Diretor : Felipe Moreno ( fmoreno@realweb.com.br )        //
//E-mail : daniel@realweb.com.br                            //
//Telefone : 3419 - 1095 Ramal 24                           // 
////////////////////////////////////////////////////////////// 



</script>

<style type="text/css">
<!--
.style1 {color: #003399}
.style2 {font-size: 16px; font-weight: bold; }
.style4 {color: #006699}
.estilo_input{ font:11 Verdana; color:black; text-align:left; background-color:white; border: solid #ffffff 1}
.estilo_input2{ font:11 Verdana; color:green; text-align:left; background-color:white; border: solid #ffffff 1}
.estilo_text{ font:11 Verdana; color:blue; text-align:left;}
.estilo_textt{ font:11 Verdana; color:blue; text-align:center;}
-->
</style>
</head>
<body onload = sonic()>

<div id='aguarde' style='position:absolute;width:100%;height:100%;text-align:center;text-valign:middle;left:0;top:0;visibility:hidden;background:lightblue;filter:alpha(opacity=60)'><br><br><br><br><br><b>Aguarde! Processando o seu Texto!</b></div>

<table width="443" border="0" align="center">


<form name="form1" action="recebe.php" method="post">


<tr><td width="326"><input type="button" name="bt1"  class="botao" value="Codificar"  onclick="getSel();return false;return codifica();"></td>
  <td width="90" valign="baseline"><div align="right"><img src="images/help.gif" width="16" height="16" hspace="5"><span class="texto">Help</span></div></td>
  <td width="56">&nbsp;</td>
</tr><!--chama a função javascript acima-->
<tr>
  <td colspan="2"><textarea rows="15" cols="60" id = "coisa" name="obs" class="caixa" 
  
  onkeypress = "contarpalavras(this);cor();espacoutil()"
  onfocus = "contarpalavras(this);cor();espacoutil();return testando()"
  onkeydown = "contarpalavras(this);cor();espacoutil()"
  onchange = "contarpalavras(this);cor();espacoutil()"
  onkeyup = "contarpalavras(this);cor();espacoutil()"
  onMouseUp = "return decodifica()"
  onblur = "contarpalavras(this);cor();espacoutil();"
  
  >
  
<!--   
   onkeypress = "contarpalavras(this);cor();espacoutil()"  
   onfocus = "contarpalavras(this);cor();espacoutil()"
   onkeydown = "contarpalavras(this);cor();espacoutil();"
   onchange = "contarpalavras(this);cor();espacoutil()"  
   onkeyup = "contarpalavras(this);cor();espacoutil()"
  <!-- onMouseUp = "return decodifica()return testando()"  -->
  <!-- onchange = "this.value=ignoreSpaces(this.value)" -->
   <!--onblur = "contarpalavras(this);cor();espacoutil();removeEspaco();"> -->
   
     
  </textarea></td>
</tr>
<tr><td colspan="2" align="right"><input type="button" value="Enviar" class="botao" onclick='removeEspaco();'></td></tr>
<tr>
<td>
<br>
   <br>
   <input type=text name="numero" value="0" class ='estilo_input' size = 15 readonly> 
   
   <br>
   <input type=text name="espaco" value="0" class ='estilo_input' size = 3 readonly> 
   <input type=text name="frase" value="Espaços" class ='estilo_input' readonly>  
   <br>
   <input type=text name="max"    value="100"  class ='estilo_input2' size = 3 readonly> 
   <input type=text name="frase3" value="Limite Permitido" class ='estilo_input2' readonly>
   <br><br>
   <br>
   <br>
</td>
</tr>

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

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...