OnLoad sous IE

samp38 Messages postés 3 Statut Membre -  
samp38 Messages postés 3 Statut Membre -
Bonjour,

    Je vous previens tout de suite je suis débutant, et la page de code qui suit est ma premiere... et voila je suis en face d'un probleme qui me turlupine nuit et jour ! Dans une page php, je definis une fonction javascript qui a pour but de remplir des <select> en faisant appel a une base de donnee. Je souhaite charger cette fonction au demarrage de la page. J'ai donc procédé comme suit : <body onLoad="mafonction();"/> 
    Mais voila, avec firefox pas de probleme, tandis que sous IE j'ai une erreur : "objet attendu" au niveau de du onLoad (meme ligne). Comment rendre ma page fonctionnelle sous IE ?

Voici le code :

<?php
session_start();

if(!$_SESSION['connecte'])
	die('Vous devez vous connecter');
	
	
function tronque($str,$len=20){
	if(strlen($str)>$len)
		return substr($str,0,$len).'...';
	else
		return $str;
}

?>
<!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" xml:lang="fr">

	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<title> DreamLib  - version html (spéciale dédicace à nalexbebewls) </title>
		<link rel="stylesheet" media="screen" type="text/css" title="htmldesign" href="html.css" />
		
		<!-- partie Javascript -->
		<script type="text/javascript">
			function test(){
				alert('test reussi');
			}
			function actualise() {
				//genre = document.getElementById ('genre').value;
				xmlhttp = new XMLHttpRequest();
				if (xmlhttp.overrideMimeType) {
					xmlhttp.overrideMimeType('text/xml');
				}
				// Recupere les ID des champs selectionnés
				var genreID = document.getElementById('genre').value;
				var albumID = document.getElementById('album').value;
				var artisteID = document.getElementById('artiste').value;
				
				//alert('http://samp38.dyndns.org/dreamlib/php/actualiseNavigateur.php?genreID=' + genreID + '&albumID=' + albumID + '&artisteID=' +artisteID);
				xmlhttp.open("GET", '../html/actualiseNavigateur.php?genreID=' + genreID + '&albumID=' + albumID + '&artisteID=' +artisteID);
				
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
						//alert(xmlhttp.responseText);
						var xmldoc = xmlhttp.responseXML;
						
						// récupère le tableau des <genre id='..' nomGenre='bewls' />
						var genresHTML;
						var genres = xmldoc.getElementsByTagName('genre');
						if (genreID == -1) {
							genresHTML = "<option value=-1 selected>Tous</option>\n";
						}
						else {
							genresHTML = "<option value=-1>Tous</option>\n";
						}
						for(var i=0; i<genres.length; i++){
							var genre = genres[i];
							if (genreID != -1 && genreID == genre.getAttribute('id')) {
								genresHTML += '<option value = ' + genre.getAttribute('id') + ' selected>' + genre.getAttribute('nomGenre') + '</option>\n';
							}
							else {
								genresHTML += '<option value = ' + genre.getAttribute('id') + '>' + genre.getAttribute('nomGenre') + '</option>\n';
							}
						}
						var genresSelect = document.getElementById('genre');
						genresSelect.innerHTML = genresHTML;
						
						// récupère le tableau des <albums id='..' nomAlbum='bewls' />
						var albumsHTML;
						var albums = xmldoc.getElementsByTagName('album');
						if (albumID == -1) {
							albumsHTML = "<option value=-1 selected>Tous</option>\n";
						}
						else {
							albumsHTML = "<option value=-1 >Tous</option>\n";
						}
						for(var i=0; i<albums.length; i++){
							var album = albums[i];
							if (albumID != -1 && albumID == album.getAttribute('id')) {
								albumsHTML += '<option value = ' + album.getAttribute('id') + ' selected>' + album.getAttribute('nomAlbum') + '</option>\n';
							}
							else {
								albumsHTML += '<option value = ' + album.getAttribute('id') + '>' + album.getAttribute('nomAlbum') + '</option>\n';
							}
						}
						var albumsSelect = document.getElementById('album');
						albumsSelect.innerHTML = albumsHTML;
						
						// récupère le tableau des <artiste id='..' nomArtiste='bewls' />
						var artistesHTML;
						var artistes = xmldoc.getElementsByTagName('artiste');
						if (artisteID) {
							artistesHTML = "<option value=-1 selected>Tous</option>\n";
						}
						else {
							artistesHTML = "<option value=-1 >Tous</option>\n";
						}						
						for(var i=0; i<artistes.length; i++){
							var artiste = artistes[i];
							if (artisteID != -1 && artisteID == artiste.getAttribute('id')) {
								artistesHTML += '<option value = ' + artiste.getAttribute('id') + ' selected>' + artiste.getAttribute('nomArtiste') + '</option>\n';
							}
							else {
								artistesHTML += '<option value = ' + artiste.getAttribute('id') + '>' + artiste.getAttribute('nomArtiste') + '</option>\n';
							}
						}
						var artistesSelect = document.getElementById('artiste');
						artistesSelect.innerHTML = artistesHTML;
						
						// récupère le tableau des <chanson id='..' titre='bewls' />						
						var chansons = xmldoc.getElementsByTagName('chanson');
						var chansonsHTML = "<tr> <th> Titre </th> <th> Artiste </th> <th> Album </th></tr>\n";		
						for(var i=0; i<chansons.length; i++){
							var chanson = chansons[i];
							//alert (i);
							var j=i%2;
							chansonsHTML += '<tr class = l' + j + '> <td ondblClick="javascript:onclickchanson(' + chanson.getAttribute('id') + ')">' + chanson.getAttribute('titre') + '</td> <td>' + chanson.getAttribute('nomArtiste') + '</td> <td>' + chanson.getAttribute('nomAlbum') + '</td></tr>\n';
						}
						var chansonsresultTable = document.getElementById('chansonsresult');
						chansonsresultTable.innerHTML = chansonsHTML;
					}
				}
				xmlhttp.send(null);
			}

			function onclickchanson(id) {
			xmlhttp = new XMLHttpRequest();
				if (xmlhttp.overrideMimeType) {
					xmlhttp.overrideMimeType('text/xml');
				}
				xmlhttp.open("GET", 'http://samp38.dyndns.org/dreamlib/html/lis_chanson.php?idChanson=' + id);
				xmlhttp.onreadystatechange = function() {
						if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
						
							var xmldoc = xmlhttp.responseXML;
							var chansoncliquee = xmldoc.getElementsByTagName('chansoncliquee');
							chansoncliquee = chansoncliquee[0];
							var dir = '../../bibliotheque/' + chansoncliquee.getAttribute('dirArtiste') + '/' + chansoncliquee.getAttribute('dirAlbum') + '/' + chansoncliquee.getAttribute('Mp3');
							//alert(dir);
							//<!--
							//window.location.replace(dir);
							//-->
						
						
						}					
				}
				xmlhttp.send(null);
			}
	
		</script>
		
	</head>
	
	<body onLoad = "actualise();">	

  

    <div id = "fond">

      
      <div id="en_tete">
           <!-- Ici on mettra la bannière -->
      </div>

        <div id = "titre">

          <h1> DREAMLIB <h1>

        </div>
          

        <div id = "cadre">

          

        </div>

      

        <div id = "search">
          <input id = "searchText" type="text" size="15" />
          <input id = "searchBtn" type="button" value="Chercher" OnClick="actualise();" />
          <br />
        

          <select id = "genre" size="5" onchange= "actualise();">
            <option value = "-1" selected> Tous </option>
          </select>
        
          <select id = "artiste" size="5" onchange= "actualise();">
            <option value = "-1" selected> Tous </option>
          </select>
        
          <select id = "album" size="5" onchange= "actualise();">
            <option value = "-1" selected> Tous </option>
          </select>
        
          <select id = "annee" size="5" onchange= "actualise();">
            <option value = "-1" selected> Tous </option>				
          </select>
        </div>

      
      <div id="conteneurTableau">
        <table id="chansonsresult" border="0">
          
        </table>
      </div>

      

      <div id="pied_de_page">

           <!-- Enfin, on mettra en bas de la page le nom de l'auteur, un copyright... -->

           Réalisé par les Gros Dégueulasses

      </div>
	</body>
</html>
<code>Configuration: Linux
Firefox 2.0.0.8
A voir également:
  • OnLoad sous IE
  • Ie tab - Télécharger - Outils pour navigateurs
  • Ie 11 - Télécharger - Navigateurs
  • Ie 8 - Télécharger - Navigateurs
  • Ie 9 - Télécharger - Navigateurs
  • Ie 10 - Télécharger - Navigateurs

2 réponses

Playboss
 
Salut Samp38,

Essaye plutôt <body onload="javascript:actualise();">
0
samp38 Messages postés 3 Statut Membre
 
Bonjour Playboss,

J'ai essayé ta solution mais sans succès. J'ai créé une fonction javascript "test()" qui affiche un alert('test reussi') que j'ai mis dans le onload du body et l'alerte n'est pas affichée sous IE, alors que sous firefix ça marche. Je ne vois pas ce que ça peut être....:-((
Ne dois-je pas mettre un fichier type .js dans une propriété src de mon script java ?

Sam
0