Jump to content


Photo

Erro Ao Usar Combo, Onchange, Innerhtml E Marquee


  • Faça o login para participar
2 replies to this topic

#1 Sebastian-WMB

Sebastian-WMB

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 29/09/2008, 11:31

Olá pessoa. :lol:
Sou novo por aqui e manjo pouco de PHP e JS. Como esse é meu primeiro Post, se estiver postando no forum errado, transfiram por favor para a seção coreta. Obrigado. :unsure:

Vamos lá! Eu desejo mostrar num marquee um valor atribuido no option de um select dinâmico.

Após criar um Combo dinâmico(PHP) que funciona perfeitamente ao listar os valores no campo value="" dos options, o evento onchamge executa a função mudar();, e essa mostra no marquee o valor do option selecionado.

Mas ocorre que o valor que surge no marquee para o I.E é: [objetc] e no FF é: [object HTMLCollection].

Confiram abaixo o código:

Ps. Testei com alert(); e esse mostra o mesmo erro.

<script language="javascript" type="text/javascript">

	function mostrar(valor) {

		texto = document.getElementsByName("valor");

		document.getElementById("scroller").innerHTML = texto.options[texto.selectedIndex].value;


		// alert(texto);  // comentário: teste realizado com alert
		// texto = document.getElementsById("combo").value; // comentário: pega valor pelo Id
		// document.getElementById("scroller").innerHTML = texto;  // comentário: mostra o valor no marquee

	}
</script>

<form name="form1" action="" method="post">

		 <select name="combo" onchange="mostrar(this.value);">

				<option value="">Selecione...</option>

				<?php do { ?>

				<option value="<?php echo $row_rs_lista_textos['valor']?>"><?php echo $row_rs_lista_textos['nome']?>
					 </option>
				<?php }

				while ($row_rs_lista_textos = mysql_fetch_assoc($rs_lista_textos));

					   $rows = mysql_num_rows($rs_lista_textos);

					   if($rows > 0) {

							  mysql_data_seek($rs_lista_textos, 0);

							  $row_rs_lista_texto = mysql_fetch_assoc($rs_lista_texto);

					   }
				 ?>

		  </select>

</form>

<marquee id="scroller" behavior="scroll" direction="up" scrolldelay="100" scrollamount="4" onMouseOver="this.stop()"
	 onMouseOut="this.start()"></marquee>

Onde é que estou errando ????? :wacko:

#2 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 03/10/2008, 23:31

boa noite, amigo eu posso estar enganado mas select deve ser um array de options por isso deve estar acontecendo isso, pois toda ora que vc escolhe algum option vc esta enviando o select para o marquee... olhe um exemplo nesse site que funfa... falou...

http://www.faqs.org/...T_onChange.html

#3 Sebastian-WMB

Sebastian-WMB

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 15/10/2008, 03:03

Olá Edipo.
Sua dica é boa. Não conhecia esse site.
Mas olha só. Consegui resolver, veja a solução:

<script language="javascript" type="text/javascript">
	function mostrar()
	{
		texto = document.getElementById("combo").value;
		document.getElementById("marquee").innerHTML = texto;
	}
</script>

ou se desejar use:

		document.getElementById("marquee").innerHTML = texto[0].options[texto.selectedIndex].value;
Valeu a ajuda. Até a próxima.

Edição feita por: Sebastian-WMB, 15/10/2008, 03:04.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq