Jump to content


Photo

Método Replace Palavra Específica


  • Faça o login para participar
7 replies to this topic

#1 corvox

corvox

    That's No Easy Way Out

  • Usuários
  • 434 posts
  • Sexo:Masculino

Posted 24/11/2008, 14:22

Olá, tenho os seguintes itens e uma textarea:

livros
cds de musica
dvds
cds
cds de jogos
roupas

Como faço para dar um replace ou seja substituir apenas a palavra "cds" da textarea, ignorando as cds de musica e cds de jogos, que seja específico pois estou montando uma lista de desejos, quem puder postar o code eu agradeço!

Obs: Esta ação eu to colocando em um onlick de um button.

Segue abaixo o code que estou usando no momento ele só ta funcionando no Firefox, no IE não:
function retiraItem(texto)
{
	if(document.getElementById("item").value!="")
	{
		var str = document.getElementById("lista_item").value;
		str = str.replace(texto + "\n", "");
		document.getElementById("lista_item").value = str;
	}else{
		alert("Digite o nome do item");
	}
}

O que estou fazendo de errado?

Edição feita por: corvox, 24/11/2008, 14:58.


#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 24/11/2008, 15:42

Vc ta usando algum editor HTML? Tipo FCKEditor?
Se sim este possui um método objeto.GetXHTML();
O que o IE ta reclamando?

Verifica o que ele traz como o 'innerHTML'

Edição feita por: Renan L. Queiroz, 24/11/2008, 15:49.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 corvox

corvox

    That's No Easy Way Out

  • Usuários
  • 434 posts
  • Sexo:Masculino

Posted 24/11/2008, 15:50

Olá Renan, não estou usando nenhum editar ta textarea pura msm, segue abaixo o code dela:
<textarea id="lista_item" name="lista_lista_item" class="textarea campobig" readonly="readonly"></textarea>

O IE não reclama nada, não da nenhum alert, nenhum erro apenas não faz nada. Coloquei um alert depois do if no final da função ele exibe o alert de boa no ie, o que pode ser?

Edição feita por: corvox, 24/11/2008, 15:52.


#4 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 24/11/2008, 16:05

Colega ... o parametro "texto" que vc passa para a função, é o objeto textArea ou o valor?
Se for o objeto então falta um ".value" aqui!
str = str.replace(texto.value + "\n", "");

A principio parece estar ok ... mas acho que a chamada posse conter este erro.
Fiz um esqueminha aqui para verificar ...
<html>
	<head>
		<title> Valor textArea </title>
		<script>
			function conttextarea(){

				var texto = document.form1.nm_txa1.value;
				alert(texto);
			}
		</script>
	</head>

	<body>
		<form name="form1">
			<textarea id="txa1" name="nm_txa1" readonly>Renan Queiroz</textarea>
			<input type="button" value="Aqui" onClick="conttextarea();" />
		</form>
	</body>
</html>

;-)

Edição feita por: Renan L. Queiroz, 24/11/2008, 16:08.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#5 corvox

corvox

    That's No Easy Way Out

  • Usuários
  • 434 posts
  • Sexo:Masculino

Posted 24/11/2008, 16:10

Renan, vlw pela tentativa assim funciona de boa msm agora o lance é que está envolvendo 3 coisas:

[ input type text ] [ input type button onclick executa função ]

[ textarea ]

Fazendo sem a função replace como o exemplo acima funciona, queria sber como adptar com o código que usei acima pra funcionar no IE. vlw!

#6 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 24/11/2008, 16:12

Saquei ... perae, vou tentar fazer algo aqui!
Me desculpe a displicência!

Me desculpe ... to viajando aqui
Li seu post rapido e pensei que queria alterar conforme o input text...
Agora vendo o que vc quer ... teria que ter uma veriricação por com palavras próximas.

Ta trocando a palavra de acordo com o que foi mandando, mas perde a foramatação.
Acho que ainda não é exatamente o que vc quer, e?
<html>
	<head>
		<title> Valor textArea </title>
		<script>

			function conttextarea(){

				var texto = document.form1.nm_txa1;
				var palavra = document.form1.nm_txt1.value;

				temp = texto.value.replace(palavra, '');
				texto.innerHTML = temp;
			}

		</script>
	</head>

	<body>
		<form name="form1">
			<input id="txt1" name="nm_txt1" type="text">
			<br /><br />
			<textarea id="txa1" name="nm_txa1" rows="8" cols="20">livros
CDS de musica
dvds
cds
CDS de jogos
roupas</textarea>
			<br /><br />
			<input type="button" value="Aqui" onClick="conttextarea();" />
		</form>
	</body>
</html>

:wacko:

E se usar ER ... para pegar somente CDs quando não tiver mais nada na linha!!

Fiz de outro jeito sem usar ER.
Veja se chega perto do que ta querendo, troca o valor escolhido mas perde a formatação.

Edição feita por: Renan L. Queiroz, 24/11/2008, 16:46.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#7 corvox

corvox

    That's No Easy Way Out

  • Usuários
  • 434 posts
  • Sexo:Masculino

Posted 24/11/2008, 17:03

Vlw Renan, vou testar aqui já posto a resposta! brigadão!

Renan funcionou perfeito, o unico problema agora é que na linha texto.innerHTML = temp; ele retorna e perde os \n ou seja retorna tudo em 1 linha só perde as linhas puladas na textarea, como faz pra não perder a formatação mínima que existe?

Ex antes:
cds
dvds
cds de artistas

Ex depois de retirar a palavra dvds:
cds cds de artistas

Segue abaixo o code que estou usando, peguei o seu acima modifiquei algumas coisas, segue ele como base:
<html>
<head>
	<title> Valor textArea </title>
	<script>
		function conttextarea()
		{

			var lista = document.form.lista;
			var texto = document.form.texto.value;

			alert(lista.value +' - '+ texto);
			temp = lista.value.replace(texto, "");
			lista.innerHTML = temp;

		}
	</script>
</head>
<body>
	<form name="form">
		<input id="texto" name="texto" type="text">
		<textarea id="lista" name="lista" rows="3"></textarea>
		<input type="button" value="Aqui" onClick="conttextarea();" />
	</form>
</body>
</html>

Obs: Cara outra coisa que percebi este code acima só funciona no IE e no Firefox não... to tentando tbem vlw pelo esforoço ai!

Edição feita por: corvox, 24/11/2008, 17:13.


#8 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 24/11/2008, 17:07

Pois então ... to vendo isso agora. :shit:

:ponder:

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq