Problème JavaScript onLoad

Fermé
Romantic liar - 28 déc. 2008 à 15:14
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 28 déc. 2008 à 17:04
Bonjour,

J'ai fait deux petites pages html qui sont différentes au niveau code mais dont le résultat est équivalent. Les voici :

Première
<html>
<head>
<script language="javascript">
function affiche()
{
 alert ('Hello');
}
</script>
<title>essai1</title>
</head>
<body onload="affiche();">
</body>
</html>



Deuxième

<html>
<head>
<script language="javascript">
function affiche()
{
 alert ('Hello');
}
</script>
<title>essai1</title>
</head>
 <body>
<input type="text" onClick="affiche();">
</body>
</html>


Sur le local, la première page affiche un message lorsque la page est chargée et la deuxième l'affiche après clic sur le champs texte; alorsqu'en les hébergeant, seule la deuxième fonctionne normalement, il parait que l'hebergeur ne supporte pas la fonction onLoad , je trouve pas son équivalent ni comment remédier au problème.

J'ai besoin de faire fonctionner la première méthode, je vise à faire un compteur qui se déclenche avec le chargement de la page.

3 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
28 déc. 2008 à 15:26
Ce n'est pas à l'hébergeur de supporter le JavaScript ou non, c'est au navigateur du client qui visite ton site.

Maintenant ça ne m'étonnerais pas que les navigateurs, une fois que tu n'es plus en local, bloquent ce genre de scripts JavaScript souvent utilisés pour chargé des popups (onLoad).

Sinon si le onLoad ne marche pas, retire le OnLoad et appelle la fonction affiche() comme ceci dans ton <body> :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test JavaScript</title>
<script language="javascript" type="text/javascript">
function affiche()
{
	alert ('Hello');
}
</script>
</head>
<body onload="javascript: affiche();">
<script language="javascript" type="text/javascript">
affiche();
</script>
les amis.
</body>
</html>


N'oublie pas de supprimer le onload="javascript: affiche();" si tu utilise cette méthode sinon il se peut que ton alert() s'affiche deux fois si le onload marche chez d'autres (comme chez moi ;) ).
3
Romantic liar
28 déc. 2008 à 16:00
Que répondre ? D'abord merci car ce bout de code (ci dessous) marche aussi bien sur le local que sur le net :
<html>
<head>
<script language="javascript"> function affiche() { alert ('Hello');}</script>
<title>essai1</title>
</head>
<body>
<script language="javascript">affiche();</script>
</body>
</html>


Au fait, ça ne marche pas pour ma page, ce n'est qu'un exemple simplifié de ce que je comptais faire, ma fonction affiche() (dans mon vrai exemple) est définie dans un document function.js et puis je devrais l'appeler dans le index.php en mettant entre <head> et </head> ceci :
<script language="javascript" src="function.js"> </script>

et puis je l'appelle dans le body comme suit :
<body>
<script language="javascript">affiche();</script>
</body>
------------------------------
si j'appelle ma fonction affiche() avec le onLoad, ça ne marche qu'en local (comme d'hab) et si je fais le truc du champs avec le onClick, ça marche aussi.

Dans la fonction affiche() il s'agit de changer la valeur d'un champs texte d'un formulaire 'form1' défini sur la page index.php ; Je précise encore que tout marche bien en utilisant un bouton avec onClick
reste que mon objectif est d'éviter le déclenchement manuel de la fonction.
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
28 déc. 2008 à 17:04
Je ne comprends pas trop ce que tu veux mais voici un exemple de comment changer des valeurs de champs :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test JavaScript</title>
<script language="javascript" type="text/javascript">
function changeValeur(id, valeur)
{
	document.getElementById(id).value = valeur;
}

function getValeur(id)
{
	return document.getElementById(id).value;
}
</script>
</head>
<body onload="javascript: affiche();">
<form name="test" action="" method="post">
<label for="entree">Tapez votre texte ici </label>
  <input type="text" id="entree" name="entree" onkeyup="javascript:changeValeur('sortie', getValeur('entree'));" />
  <br />
  <label for="sortie">Ou alors ici</label>
  <input type="text" id="sortie" name="sortie" onkeyup="javascript:changeValeur('entree', getValeur('sortie'));" />
</form>
</body>
</html>


Après il ne te reste qu'a appeller la fonction affiche à la fin de ton body (après le formulaire) pour changer les champs que tu souhaite.
0