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

comando split


alexandremanowar

Pergunta

E a e pessoal beleza

Eu gostaria de saber como faço um função em js para verificar uma caixa de texto textarea e substituir o texto que estiver escrito nele, na verdade não vou trocar todo o texto apenas símbolos que não quero que entre nele como por exemplo, se tiver assim:

aaaaa;aaaaa;aaaaa

vou deixar assim:

aaaaa,aaaaa,aaaaa

Ou seja troquei o ( ; ) por (,)

Sei que devo usar o split na função mas não sei como montar a funçõa, e claro vou usar a função para ativar quando o cursor sair do campo textarea usando o onblur, dessa forma o cara digita quando sair do campo a função já troca os valores. Alguém ode me exlicar por favor

Editado por alexandremanowar
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

E ae beleza

Legal o replace vai funcionar mas como faço para ele colocar o texto alterado no textarea? Capturar eu sei o que não sei é como trocar o texto da textarea pelo texto alterado!

Você sabe como fazer isso?

Link para o comentário
Compartilhar em outros sites

  • 0

E ae cara beleza

Então fiz alguns testes aqui e tive alguns problemas, olha meu código:

esse é o html:

<script language="javascript" src="jsubstituir_string.js"></script>

<textarea cols=95 rows=20 name="solicitacao" id="SubstituirString" onBlur="Substituir()" ></textarea>
Esse é o js:
function Substituir()
{
    var SubstituirString = document.getElementById("SubstituirString");
    SubstituirString = SubstituirString.value.replace(";",",");

                alert(SubstituirString);

    documente.getElementById("SubstituirString").value = SubstituirString; 
}

O problema é o seguinte, o replace que fiz acima esta substituindo porém apenas o primeiro ( ; ) os demais ele não faz nada, ficou tipo assim:

texto digitado: aaaa;aaaaa;aaaa

texto modificado: aaaa,aaaaa;aaaa

Ou seja só mudou o primeiro os demais continuaram, e o outro problema é que só sei que chegou nesse resultadp por que se você olhar o código que deixei acima tem um alert me mostrando o resultado, porque o código:

documente.getElementById("SubstituirString").value = SubstituirString;

Não esta colocando o valor alterado na tela. Onde estou errando?

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Cara fiz lambança! :blush:

Postei o códgo errado! Corrija:

documente.getElementById("SubstituirString").value = SubstituirString;
Por:
document.getElementById("SubstituirString").value = SubstituirString;

Desculpe-me pela mancada é que estou no trampo e aqui as vezes não tenho como testar.

Link para o comentário
Compartilhar em outros sites

  • 0

E ae beleza

Mesmo assim ainda estou com problema nos replace que só muda 1 item da string conforme o meu último post acima.

Você sabe qual pode ser o problema?

Valeu pela atenção

Link para o comentário
Compartilhar em outros sites

  • 0

É que a procura não está sendo global, você precisa passar o parâmetro g na sua expressão regular.

Só queria dar uma dica pra boas práticas alexandre. Não utilize nomes do que a função vai fazer em seus objetos, a sua caixa é uma solicitação, portanto deve se chamar solicitação. Não coloque o nome dela como "substuirString", isso é o que a sua função vai fazer e pode se quiser colocar como nome da sua função.

Digo isso pois no desenvolvimento é importante manter a semântica, mais tarde perceberá que precisará pegar uma caixa de solicitação e procurará no seu código um nome que não tem nada a ver... Num código grande isso faz muita diferença.

window.onload = function(){
    document.getElementById("solicitacao").onblur = function(){ this.value = this.value.replace(/;/g, ",") }
}

Link para o comentário
Compartilhar em outros sites

  • 0

E ae cara beleza!

Cara valeu mesmo pela dica e pode ter certeza que vou usar, a esquema que você me passou funcionou, entendi que do modo que fiz ele só captura a o primeiro, no caso eu precisaria informa que seia a string inteira no caso usando o g e o esquema de nomenclatura que você passou realmente deve ser dessa forma, obrigado mesmo.

at+

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...