Botao reset

estou usando essa linha, q configura o botao reset, qundo digito no formulario e clico nele ele funciona blz, mas qnd recebo os dados no banco e mostro no formulario qnd clico nele p limpar ele num funciona, alguem sabe pq???

<td width="259"><html:reset styleClass="botao"><bean:message key="botao.limpar" /></html:reset></td>

Pq eh assim que o botao reset funciona :mrgreen:

Ele retorna o form ao estado original da tela quando veio do servidor :wink:

se vc quer que o botão sempre limpe os campos, faz um função javascript e chama ela no onclick do botão.

[]'s

entao vou ter q colocar na mao um botao e qnd clicar o value do html:text receber uma String vazia???

como o cv falou, o botão reset tem um comportamento padrão, ele faz o que foi definido p/ ele fazer.
se vc quer um comportamento diferente(sempre limpar os campos), vai ter que implementar na mão.

[]'s

Mas vai ficar um codigo feio, e aqule cancel do struts serve pq???

tu tem alguma pag. q fale como implementar essa funcao em javascript, pq procurei em umas apostilas e nada

WellingtonRamos, obrigado pelo código.

vale lembrar como o cv mencionou que isso eh um problema de html

costumo mencionar o MELHOR site de html do planeta:

www.w3c.org

“A” especificacao… resolve qualquer problema

A solução de Welligton ficou ótima, pois vc usa um JS que pega todos os elementos da tela, e varrendo esse array e então testando se o tipo é text e então setando o value deles como “”.

Você pode direcionar especificamente os campos que deseja também.

[code]<script language=“JavaScript”>

function limpar() {
window.document.seuForm.seuComponente.value = “”
}
</script>[/code]

agora em seu botão adicione onClick=“limpar()”

Acho que o código não fica feio não.

Eu fiz essa solução (não sei se é a ideal, mas para mim funciona bem :smiley: )

&lt;script language="javascript"&gt;
function limpar(){
 var objs = document.formName;

 for( var j=0 ; j < objs.length ; ++j ){
  if(objs[j].type=="text" || objs[j].nodeName=="TEXTAREA"){
   objs[j].value="";
  }
 }
}
&lt;/script&gt;

Dentro do if, vc coloca os tipos que deseja limpar. (Funciona no IExplorer 5.5 ou superior, não testei em outros tipos).

Observação,
objs[j].type==“text” uso com os INPUT’s substituindo “text” pelo tipo de input desejado
objs[j].nodeName==“TEXTAREA” com tags que não a INPUT.