<html:radio> Como habilitar campo pela seleção?

6 respostas
J

Galera esotu precisando de um help, sendo;

Tenho um campo para seleção, CPF ou RG

Preciso saber como consigo habilitar um campo atravez da opção desejada, tipo assim

Se o usuário selecionar CPF, abilito no form o campo para preencher o CPF com até 9 digitos.

Se o usuário selecionar RG, abilito no form o campo para preencher o RG com apenas 6 digitos.

Grato…

6 Respostas

ViniGodoy

Para colocar o foco num componente use:
nomeDoComponente.requestFocusInWindow();

Você deverá adicionar um listener nesse campo de seleção e, de acordo com o valor selecionado, chamar o requestFocusInWindow() no componente adequado.

J

Vini, desculpe mas não entendi, pode ser mais específico, como coloco este listener ?

ViniGodoy

Foi mal,

agora que eu vi que era no html:radio e não no java padrão.

Sorry. :oops:

J

Poderia ser assim?

<SCRIPT LANGUAGE="JavaScript">
<!--
function habilita(campo) {
  if (campo.checked) {
    if (campo.value == "CPF") {
		document.sistema.numCpf.disabled = false;
		document.sistema.numRg.value = "";
		document.sistema.numRg.disabled = true;
		document.sistema.numCpf.focus();
	}
	else {
		document.sistema.numCpf.disabled = true;
		document.sistema.numCpf.value = "";
		document.sistema.numRg.disabled = false;
		document.sistema.numRg.focus();
	}
  }
}
//-->
</SCRIPT>

CPF<input type="radio" name="tipo" value="CPF" onClick="habilita(this)" checked>
<input type="text" name="numCpf" maxlength="9">
<br>
RG<input type="radio" name="tipo" value="RG" onClick="habilita(this)">
<input type="text" name="numRg" maxlength="6" disabled>
J

Juliano, não consigo fazer isso no Struts ? sem ser javascript ?

Agradeço, vou tentar usar esse cófigo, me diz aonde vai o Script, no radio ?

J

O script você adiciona dentro da sua tag ou .

Os 2 campos que listei são apenas exemplos, o que você precisa mesmo é o uso do evento onClick=“habilita(this)” e adaptar o nome de cada campo conforme sua necessidade.

Obs.:
Se você não quiser submeter a página ou usar Ajax, tem que ser assim.

Tenha em mente que depois que o Struts “rodou” o jsp, somente o Javascript (via Ajax também) pode alterar o estado de um campo na tela.

Mesmo que você constrrua uma condição com tags Struts ao carregar a página essa condição já executou e não tem como utilizá-la durante o uso da tela. Só submetendo, daí até funcionaria.

Estou falando do Struts 1, não sei da versão 2.

Criado 7 de fevereiro de 2007
Ultima resposta 7 de fev. de 2007
Respostas 6
Participantes 3