Rechercher : dans
Par :

OnLoad sous IE

Dernière réponse le 13 nov 2007 à 21:55:04 samp38, le 13 nov 2007 à 02:37:41 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « onLoad sous IE » dans :
Désinstaller IE 8 Voir Désinstallation d'IE 8 Vous avez installé IE8 pour le tester et vous souhaitez désormais revenir à une version précédente ? Voici la procédure à suivre pour les OS suivants : Windows Vista Windows XP Windows Vista Ouvrir le...
[IE 7 et 8] Modifier le moteur de recherche par défaut VoirPour Internet Explorer 7 Ouvrez Internet Explorer. Faites un clic sur la flèche dans la barre de recherche en haut à droite. Cliquez sur "Modifier les paramètres de recherche par défaut". Vous pouvez : Définir un moteur de recherche...
Faire un zoom rapide sous Firefox / IE VoirFaire un zoom sur une fenêtre de Mozilla Firefox ou Internet Explorer ? Sous Internet Explorer on peut aussi faire un zoom en bas a droite de la page : Mais il y a une autre façon que celle-ci pour Internet Explorer ET Mozilla Firefox,...
Télécharger IETab VoirIE Tab est une extension pour Mozilla Firefox, et uniquement pour les systèmes d'exploitation Windows. Elle permet à une page Web ou à un lien d'être ouvert dans un onglet de Firefox avec le moteur d'Internet Explorer. Cette extension est...
Télécharger Power IE6 VoirPower IE 6 est compatible avec Internet Explorer 7, c'est un logiciel d'origine canadienne, qui vous permet en quelques clics de rendre vos surfs plus discret : Nouvelles fonctionnalités : Le logiciel est désormais multilingue, et...

1

Playboss, le 13 nov 2007 à 16:17:10
  • +1

Salut Samp38,

Essaye plutôt <body onload="javascript:actualise();">

Répondre à Playboss

2

 samp38, le 13 nov 2007 à 21:55:04

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

Répondre à samp38