Tenho um formulário com dois selects, sendo que o segundo select está desativado e só é ativado quando uma determinada opção do primeiro é selecionada.
O problema é que usando as tags html: do Struts eu não consigo definir o nome do select que o Javascript usa para habilitar/desabilitar o segundo select.
Meu java script:
function enableOp() {
box = document.forms[0].plano;
if (box.selectedIndex == 2) {
document.forms[0].op.disabled=false;
} else {
document.forms[0].op.disabled=true;
}
}
Só que pra esse código funcionar preciso gerar o seguinte código html, com as taglibs do Struts:
O struts gera o componente com o nome(name) igual ao da sua propriedade, mas isso pode ser ruim quando vc utilizar o fireShit, digo, firefox.
É que qdo vc utiliza getElementById(acho que vc deve estar usuando isso, não é?) o IE procura um elemento com id ou name que vc passar.
O fireshit só utiliza o id, então se nao houver um componente com o id informado seu script vai dar erro.
Para evitar esse problema, coloque o atributo styleId na hora de criar seu campo. E coloque o valor do styleId igual ao da propriedade, daí vai ser criado um componente com id=“x” e name=“x”…