11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je vous explique mon problème.
Je souhaite en fonction du service selectionné, cocher automatiquement des cases à cocher.

voici comment j'ai procédé, cela fonctionne sur FF mais pas sur IE


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title></title>

<script type="text/javascript">

function select_service ( _material ) {

	var _case = document.getElementById( _material  ) ;

	_case.setAttribute( 'checked' , 'checked' ) ;

	return true ;

}

</script>
</head><body>

<table height="100%" width="800" border="0" cellpadding="3">	
				<tr>
					<td width="50"> </td>
					<td class="champs">Service :</td>
					<td>
					<select id="Service" name="Service" size="1" onchange="showEngineer();" onkeyup="showEngineer();">
					<option>< ------- Choose a service ------- ></option>	
					<option value="Administration" onclick= " select_service ( 'Cellphone' ) ; "  <?php $select = ( $_REQUEST [ 'Service' ] == 'Administration' ) ? ' selected="selected" ' : ''  ; echo $select ; ?> >Administration</option>
					<option value="Engineering" onclick = " select_service ( 'Cellphone' ) ; " <?php $select = ( $_REQUEST [ 'Service' ] == 'Engineering' ) ? ' selected="selected" ' : ''  ; echo $select ; ?>>Engineering</option>
					</select> 
					</td>	
				</tr>	
				<tr>	
					<td width="50">&nbsp;</td>	
					<td class="champs">Cellphone : </td>
					<td><input type="checkbox" name="Cellphone" value="yes" id="Cellphone" <?php $check = ( $_REQUEST [ 'Cellphone' ] ) ? 'checked="checked"' : '' ; echo $check ; ?> /></td>	
				</tr>	

</table>

</body></html>


Merci
Modifié par Arkoze (22 Mar 2007 - 11:19)
Salut,

Je te conseille l'utilisation de l'attribut checked, qui est bien supporté et fait partie du DOM HTML :
_case.checked = true;
En fait, IE ne semble pas gérer l'événement "click" sur les éléments option.

Pourquoi ne réutilises-tu pas le gestionnaire d'événements "change" sur le select ? Par ailleurs, est-ce que le "onkeyup" est vraiment nécessaire ? Si l'utilisateur navigue avec le clavier, l'événement "change" sera déclenché.
J'avais déjà essayé de remplacer onclick par onchange mais sans succès.

Pour le "onkeyup", ce n'est pas indispensable mais j'ai trouvé ça sympa Smiley smile
Arkoze a écrit :
J'avais déjà essayé de remplacer onclick par onchange mais sans succès.
"onchange" sur le select, nous sommes bien d'accord ? Smiley smile
Arkoze a écrit :
Pour le "onkeyup", ce n'est pas indispensable mais j'ai trouvé ça sympa Smiley smile
Le problème est que ça ne sert à rien et que ça lance deux fois la fonction quand tu cliques sur une touche. Smiley smile