[Javascript] document.getElementById()

Fermé
Gilou - 31 juil. 2006 à 10:10
 AnthoNyme - 20 avril 2008 à 16:17
Bonjour à tous, je suis un amateur en javascript.
J'ai écris une fonction en javascript qui permet de rendre visible et invisible un bloc selon la valeur de ma selection.
Le problème c'est qu'il marche bien sous IE et ne marche pas sur Firefox. Je ne sais vraiment pas pourquoi? Pouvez vous m'aider svp?
voici le code.

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--

function select_onchange(var_select, val_true, var_display) {
   if(document.getElementById(var_select).getAttribute('value') == val_true){
	document.getElementById(var_display).style.display = 'block';	
   }
   else{
	document.getElementById(var_display).style.display = 'none';	
   }
}

//-->
</SCRIPT>
</HEAD>
<BODY>

<P>
       <SELECT id=select1 name=select1 onchange="return select_onchange('select1','1','ta')" > 
				<OPTION  value="2" selected > YO!!</OPTION>
				<OPTION value="2"> YA!!</OPTION>
	</SELECT></P>

<DIV id="ta" style="LEFT: 52px; WIDTH: 406px; POSITION: absolute; TOP: 78px; HEIGHT: 305px">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
  <table width="450" border="0" cellspacing="5">
  <TBODY>
    <tr> 
      <td width="141"><div align="center">Etablissement</font>
      </div></td>
      <td width="112"><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">numero de compte</font></div>
      </td>
      <td width="172"><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo COUNTER_NUMBER; ?></font></div></td>
	<td width="67"><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo KEY_RIB; ?></font></div></td></TR>
							
	 </TBODY></TABLE>
 <br>
		</DIV>				 
</BODY>
</HTML>

3 réponses

bot1fo Messages postés 10 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 8 septembre 2006 5
31 juil. 2006 à 10:43
Salut Gilou,
en fait ton erreur vient de la manière dont tu récupères la valeur sélectionnée dans le menu déroulant, il faut faire comme suit :

...
var oSelect = document.getElementById(var_select);
if( oSelect.options[oSelect.selectedIndex].value == val_true )
{
...
}


oilà.
A+
3
bot1fo Messages postés 10 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 8 septembre 2006 5
31 juil. 2006 à 17:26
De plus, modifie les valeurs de tes options, elles ont toutes les deux la valeur "2".
A+
2
Salut,
Si ta question est toujours d'actualité (on sait jamais ;)) :

<HTML>
	<HEAD>
		<TITLE>...</TITLE>
		<SCRIPT ID="clientEventHandlersJS" type="text/javascript">
			<!--
			function select_onchange(var_select, val_true, var_display) {
				if(document.getElementById(var_select).value == val_true){
					document.getElementById(var_display).style.display = 'block';
				}
				else
				{
					document.getElementById(var_display).style.display = 'none';
				}
			}
			//-->
		</SCRIPT>
	</HEAD>
	<BODY>
		<P>
			<SELECT id="select1" name="select1" onchange="return select_onchange('select1','1','ta')">
					<OPTION  value="1"> YO!!</OPTION>
					<OPTION value="2"> YA!!</OPTION>
			</SELECT>
		</P>
		<DIV id="ta" style="LEFT: 52px; WIDTH: 406px; POSITION: absolute; TOP: 78px; HEIGHT: 305px">
			<table width="450" border="0" cellspacing="5">
				<TBODY>
					<tr>
						<td width="141">
							<div align="center">
								<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Etablissement</font>
							</div>
						</td>
						<td width="112"><div align="center">
							<div align="center">
								<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Numero de compte</font>
							</div>
						</td>
						<!-- Suite du tableau ... -->
					</tr>				
				</TBODY>
			</TABLE>
			<br>
		</DIV>				 
	</BODY>
</HTML>


Je n'ai pas changé grand chose mais ça marche avec IE et FF ...

En ésperant avoir été utile ...

AnthoNyme
------------------------------------------
Rien n'empêche Melba
2