Ir para conteúdo

Arquivado

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

João Vitor Mantovani

[Resolvido] Reset em form alimentado pelo PHP

Recommended Posts

Tenho um text field alimentado pelo PHP deste modo:

<textarea name="texto" id="texto" cols="90" rows="12"><?php echo utf8_decode($inicial); ?></textarea>
Até ai tudo bem... esta(va) tudo funcionando perfeitamente.

Porém, surgiu a necessidade de colocar um SIMPLES BOTÃO RESET neste form..

 

Eis que descobri que ao clicar em Reset, nada acontece..

Vamos supor que o texto alimentado pelo PHP seja:

olá, como vai você?
Se voce apertar o Reset, nada acontece. O texto não é limpo!

Porém, se você digitar alguma coisa após o texto, ficando:

olá, como vai você?asdasdasdasdasdd
E ai pressionar reset, o texto vai ser "resetado" novamente para:

olá, como vai você?

É como se o navegador considerasse o texto alimentado pelo PHP como vazio...

Sei que alimentar um campo de texto com php é algo comum, logo, este meu problema também deve ser comum... alguém de vocês sabe uma solução?

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é porque o reset serve para voltar ao estado inicial do form e como o estado inicial do form você definiu com valores, isso se torna o ponto zero do form

 

 

você pode configurar um botão para limpar os campos usando função javascript

 

faz um teste ae

<script>
function limpa_campos(){
   document.getElementById('text1').value = "";
}
</script>
<form>
   <input type='text' id='text1'value='teste'>
   <input type='button' onclick=limpa_campos() value='Limpar'>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza... obrigado cara!

Suspeitei disso.. tentei deixar "" como init value e alimentar assim:

<textarea value="<?php echo utf8_decode($inicial); ?>">""</textarea>
mas pelo que entendi <textarea> como tag não tem essa propriedade... é isso?

enfim, ultima mãozinha... você sabe me dizer pq isso não esta funcionando?

 

function limpa_campos(){
	if (confirm('Você realmente deseja apagar todos os campos?')) {
		document.getElementById('text1').value = "";
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

com textarea!!

confirm funcionou aki!

achei um exemplo bom aki pra você dá uma olhada

http://forum.imasters.com.br/index.php?/topic/252219-limpar-campos/

<script>
function limpa_campos(){
   if (confirm('Você realmente deseja apagar todos os campos?')) {
	   document.getElementById('text1').value = "";
	   var textarea = document.getElementsByTagName('textarea');
	   for(var i=0; i<textarea.length; i++)
		  textarea[i].value = '';
	}
}
</script>
<form>
<input type='text' id='text1' value='teste'>
<textarea rows="4" cols="10">teste</textarea>
<input type='button' onclick=limpa_campos() value='Limpar'>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, por algum motivo não está funcionando... Nenhum dos códigos! Na verdade mesmo sem o "confirm" não funciona. queria muito entender porquê... Veja se você me dá uma luz!

 

<script>
function limpa_campos(){
   document.getElementById("inicial").value = "";
}
</script>

<form id="form1" name="form1" method="post" action="xml.php">
<textarea name="inicial" id="inicial" cols="90" rows="12"><?php echo utf8_decode($inicial); ?></textarea>
<input type="reset" name="Reset" id="button" value="LIMPAR" onclick="limpa_campos()"/>
<input type="submit" name="salvar" id="salvar" value="SALVAR ALTERAÇÕES" />
<input name="at_home" type="hidden" id="at_home" value="1" />
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso

<input type="reset" name="Reset" id="button" value="LIMPAR" onclick="limpa_campos()"/>
muda para

<input type="button" value="LIMPAR" onclick="limpa_campos()"/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

inacreditável.... por quê isso?!!?!

 

OBS: obrigado!

 

já entendi... como o botão era "reset", ao realizar o "onClick" ele até limpava todo o texto, porém, fazia sua função de reset que era voltar ao valor inicial... por isso parecia que nada funcionava.. é isso, né?

 

abraço! muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o reset só tem a função de voltar o form ao estado inicial

e você estava usando ele pra chamar a função

 

agora o button você pode personalizar ação

 

só por titulo de curiosidade

assim o button vai ter o mesmo efeito do botão resetar

<input type='button' onclick='reset()' value='resetar'>
e assim o button vai submeter o formulário

<input type='button' onclick='submit()' value='Enviar'>

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.