Erro combo javascript InternetExplorer

2 respostas
T

Seguinte, eu tenho um formulario de cadastro de produtos em que o mesmo ao salvar possui o javascript de verificacao de campos abaixo:

function verificarCampos(){
			error = "";
			
			if(Trim(gE("titulo").value)==''){
				error= "Titulo;\n";
			} 
			
			if(Trim(gE("descricao").value)==''){
				error+= "Descricao;\n";
			}
		
			if(Trim(gE("preco").value)==''){
				error+= "Preco;\n";
			}
			
			if(Trim(gE("quantidade").value)==''){
				error+= "Quantidade;\n";
			}
			
			qtde = gE("tipo_anuncio");
			if(qtde.options[qtde.selectedIndex].value=='-1'){
				error+= "Tipo Anuncio;\n";
			}
			
			if(Trim(gE("largura").value)==''){
				error+= "Largura;\n";
			}
			
			if(Trim(gE("altura").value)==''){
				error+= "Altura;\n";
			}
			
			if(Trim(gE("comprimento").value)==''){
				error+= "Comprimento;\n";
			}
			
			if(Trim(gE("peso").value)==''){
				error+= "Peso;\n";
			}
			
			status = gE("situacao");
			if(status.options[status.selectedIndex].value=='-1'){
				error+= "Status;\n";
			}
			
			if(error!=''){
				alert("Campos Obrigatorios:\n"+error);
			    return false;
			}
			return true;
		  }

no firefox o mesmo funciona perfeitamente . Já no IE da um erro na seguinte linha:

status = gE("situacao");
			if(status.options[status.selectedIndex].value=='-1'){
				error+= "Status;\n";
			}

O erro que da é o seguinte :

Detalhes dos erros da página da Web

Agente de Usuário: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Carimbo de data/hora: Tue, 14 Jun 2011 15:10:14 UTC

Mensagem: ‘status.options’ é nulo ou não é um objeto
Linha: 52
Caractere: 4
Código: 0

Alguem tem alguma sugestão?

2 Respostas

M
//troque isso:
if(status.options[status.selectedIndex].value=='-1') ...

//por isso
if(status.value=='-1')

Deve funcionar

T

galera consegui resolver o problema, era a a variavel status que eu nao declarei ela como abaixo:

var status = gE("situacao");  
if(status.options[status.selectedIndex].value=='-1'){  
    error+= "Status;\n";  
}

faltou o var, o IE nao reconhece sem o var uma variavel.

flws
e
Valeus

Criado 14 de junho de 2011
Ultima resposta 14 de jun. de 2011
Respostas 2
Participantes 2