Bem pessoal, tenho uma pagina jsf que realiza a consulta e exibe os dados na própria tela. Da maneira abaixo, eu consigo limpar somente o resultado da consulta, mas eu preciso também de limpar os campos do formulário
Alguém pode me dar uma idéia de como resolver este problema .
1-Felipe e colega entendi a sugestão abaixo do colega como também a implementei. Porém com esta eu consigo limpar os campos antes de realizar a consulta, porque após realiza-la, eu clico no botão limpar e não acontece nada.
Cria o javaScript:
<script type="text/javascript">
//LIMPA UM FORMULARIO
function limparFormulario(parametro)
{
document.getElementById(parametro).reset();
}
</script>
e cria uma ação que chame a função limparFormulario passando o id de seu formulario
2- A sugestão do colega de setar null para os campos já existe. Acontece com esta soluçaõ eu consigo apenas limpar a tabela pesquisa agora os campos do formulário não
Tentei fazer assim, mas acontece o seguinte: Antes da pesquisa limpar o formulário se o digitar qualquer coisa, mas
após a consulta, quando clico em limpar ele retira a tabela pesquisa mas não reseta o formulário.
efcjunior
O caso é que o reset em um formulário html não é para limpar os campos e sim para fazer com que eles voltem ao seu valor inicial, que estava no value do html.
Da primeira vez limpa porque não havia nada. Mas da segunda não limpa porque a página já foi carrega com dados no value. Experimente alterar algum campo e resetar e vc verá que ele retorna para o que estava quando a página foi carregada.
Uma solução seria criar uma função javascript chamada limparCampos() por exemplo que sai pegando todos os inputs e setando ‘’ no value…
Pode fazer dentro de um for nos itens do formulário ou setando individualmente, se for o caso…
[quote=renatocustodio]efcjunior
O caso é que o reset em um formulário html não é para limpar os campos e sim para fazer com que eles voltem ao seu valor inicial, que estava no value do html.
Da primeira vez limpa porque não havia nada. Mas da segunda não limpa porque a página já foi carrega com dados no value. Experimente alterar algum campo e resetar e vc verá que ele retorna para o que estava quando a página foi carregada.
Uma solução seria criar uma função javascript chamada limparCampos() por exemplo que sai pegando todos os inputs e setando ‘’ no value…
Pode fazer dentro de um for nos itens do formulário ou setando individualmente, se for o caso…
[/quote]
Renato, faz muito sentido o que você falou…É possível me dar um exemplo de como eu implemento esta função, você já tem essa função ?
E assim com todos os seus outros campos. Não sei de cabeça como se faz com javascript para ir pegando todos e setando uma string vazia automatica. Experimenta dar um “for in” pra ver. Ou procure uma pronta.
Setar lá dentro a dataAtual com javascript, pegando dessa forma a data da máquina do client.
Ou quando carregar a página jogar a dataAtual dentro de um campo hidden usando programação java mesmo, que pode er colado usando alguma tag de data, jstl, scriptles,etc… Então na função que reseta pegar com javascript essa valor e simplesmente jogar nesse campo.
Setar lá dentro a dataAtual com javascript, pegando dessa forma a data da máquina do client.
Ou quando carregar a página jogar a dataAtual dentro de um campo hidden usando programação java mesmo, que pode er colado usando alguma tag de data, jstl, scriptles,etc… Então na função que reseta pegar com javascript essa valor e simplesmente jogar nesse campo. [/quote]
Outra coisa, nesse caso não precisa passar parametro nenhum para a função, porque não ta usando ele lá dentro mesmo.(mas não é isso que atrapalou, só que tbm não vai ajudar)