Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

acdestefani

[Resolvido] Script funciona no Firefox não funciona no Internet E

Recommended Posts

Olá Pessoal!

 

Tenho um formulário onde um dos campos é do tipo select. Os valores desse campo são buscados no banco de dados.

 

Esse é o código do campo:

<select name='secretaria' CLASS="frm" ONBLUR="this.className='frm'" ONFOCUS="this.className='frm-on'"> 

<?php
	echo "<option>$postsecretaria</option>";
		$sqlsecretaria = "select * from email order by nome";
		$consultasecretaria = mysql_query($sqlsecretaria);
		while($r_secretaria = mysql_fetch_array($consultasecretaria))
			{
			if ($r_secretaria[nome] != $postsecretaria)
				{
				echo "<option>$r_secretaria[nome]</option>";
				}
			}
?>

 

Esse é o javascript do código de validação:

if (d.secretaria.value == ""){
alert ("O campo SECRETARIA/SETOR deve ser preenchido!");
d.secretaria.focus();
return false;
}

 

No Firefox a validação funciona corretamente, mas no Internet Explorer não está funcionando, mesmo que eu selecione um opção do campo Select ele me retorna a mensagem que o campo não foi preenchido.

 

Alguém tem alguma idéia de como posso consertar isso?

 

Desde já agradeço a ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

atribua um ID nesse select, e então prefira usar: document.getElementById()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda William!

É possível usar o document.getElementById() no meu script? É que tenho pouca experiência e dei uma pesquisada na internet e achei outros scripts que utilizam essa função.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim:

<select name="secretaria" id="secretaria" class="frm" onblur="this.className='frm'" onfocus="this.className='frm-on'">
e então no js:

var sec = document.getElementById('secretaria');
if ( sec.value=='' ){
  alert("O campo SECRETARIA/SETOR deve ser preenchido!");
  sec.focus();
  return false;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta aí exatamente o jeito que você está fazendo!

esse script do William funcionaria normalmente no IE também.

está colocando essa função no evento onsubmit do formulario?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema do seu script é que o IE só aceita valores explicitamente declarados na tag option

 

No seu php, coloque assim:

 

echo "<option value='$r_secretaria[nome]'>$r_secretaria[nome]</option>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal! Muito obrigado, a todos, pela ajuda!

 

A solução apresentada pelo AndreRO resolveu o problema.

 

O problema do seu script é que o IE só aceita valores explicitamente declarados na tag option

 

No seu php, coloque assim:

 

echo "<option value='$r_secretaria[nome]'>$r_secretaria[nome]</option>";

 

Valeu pessoal! Brigadão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.