Javascript
Irolaan
-
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai deux question!
1. Qu'elle est la différence entre <script language="JavaScript">, <script type="text/JavaScript"> et <script>.
2. J'ai deux fonctions qui se servent des mêmes objets d'un formulaire, mais lorsque la deuxième fonction tente de manipuler ces objets j'obtiens <'obj' is undefined> comme message d'erreur.
Après plusieurs heures d'essais et comme je débute en Javascript je n'ai toujours pas trouvé de solution.
J'ai essayer de mettre les fonctions dans <head>,dans <body>, de les placer dans des conteneurs <script> différents, rien ne marche.
Au besoin je peux coller mon script pour vous permettre de trouver l'erreur (sans doute bien évidente pour un habitué) que j'ai commise.
J'ai deux question!
1. Qu'elle est la différence entre <script language="JavaScript">, <script type="text/JavaScript"> et <script>.
2. J'ai deux fonctions qui se servent des mêmes objets d'un formulaire, mais lorsque la deuxième fonction tente de manipuler ces objets j'obtiens <'obj' is undefined> comme message d'erreur.
Après plusieurs heures d'essais et comme je débute en Javascript je n'ai toujours pas trouvé de solution.
J'ai essayer de mettre les fonctions dans <head>,dans <body>, de les placer dans des conteneurs <script> différents, rien ne marche.
Au besoin je peux coller mon script pour vous permettre de trouver l'erreur (sans doute bien évidente pour un habitué) que j'ai commise.
6 réponses
Salut,
je ne suis pas un spécialiste, mais je pense que le problème est que obj n'est défini nulle part, du moins dans le code que tu as envoyé. A mon avis, il faut l'initialiser et soit le passer en paramètre à la fonction qui l'utilise, soit le déclarer dans le script principal comme une variable globale.
IC
je ne suis pas un spécialiste, mais je pense que le problème est que obj n'est défini nulle part, du moins dans le code que tu as envoyé. A mon avis, il faut l'initialiser et soit le passer en paramètre à la fonction qui l'utilise, soit le déclarer dans le script principal comme une variable globale.
IC
Salut!
Voilà mon script, les lignes qui causent problème font toutes référence à un objet se trouvant dans le code HTML.
La ligne en souligné vient de l'autre fonction qui est OK.
J'ai rajouté la ligne en gras italique pour montrer que je ne peux même pas inscrire directement une valeur dans l'objet.
L'erreur apparait quand je sélectionne un nom dans la liste déroulante.
J'ai probablement fait une bête erreur de débutant!
Merci!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>TOS</title>
<script type="text/JavaScript">
function distance_stel()
{
var vl = 299792.458;
var al = 31557600*vl;
var résultat = Math.round(Math.pow(obj.facteur1.value,3)*1000)/1000;
var planètes=document.getElementById("planètes");
document.getElementById("distance").value=planètes.options[planètes.selectedIndex].value;
var dist_p = document.getElementById("facteur1").value*planètes.options[planètes.selectedIndex].value;
obj.jours.value = Math.round(((((obj.distance.value * al)/(obj.résultat.value * vl)/60)/60)/24)*1000)/1000;
obj.jours.value = 11
}
</script>
</head>
<body>
<form>
<select id="planètes" name="planètes" onchange="distance_stel()" >
<option value="30" selected>Andoria</option>
<option value="75">Ba'Ku</option>
<option value="110">Q'onoS</option>
<option value="33">Risa</option>
<option value="130">Romulus</option>
<option value="131.5">Rémus</option>
<option value="50">Vulcain</option>
</select> <span class="jn12">située à </span>
<input type="text" id="distance" size="9" name="distance" value="30"><span class="jn12">
al à distorsion </span>
<input name="facteur1" id="facteur1" type="text" size="10" value="1"><span class="jn12">
il faut </span><input type="text" id="jours" name="jours" size="10">
<span class="jn12">jours </span>
</td>
</form>
</body>
</html>
Voilà mon script, les lignes qui causent problème font toutes référence à un objet se trouvant dans le code HTML.
La ligne en souligné vient de l'autre fonction qui est OK.
J'ai rajouté la ligne en gras italique pour montrer que je ne peux même pas inscrire directement une valeur dans l'objet.
L'erreur apparait quand je sélectionne un nom dans la liste déroulante.
J'ai probablement fait une bête erreur de débutant!
Merci!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>TOS</title>
<script type="text/JavaScript">
function distance_stel()
{
var vl = 299792.458;
var al = 31557600*vl;
var résultat = Math.round(Math.pow(obj.facteur1.value,3)*1000)/1000;
var planètes=document.getElementById("planètes");
document.getElementById("distance").value=planètes.options[planètes.selectedIndex].value;
var dist_p = document.getElementById("facteur1").value*planètes.options[planètes.selectedIndex].value;
obj.jours.value = Math.round(((((obj.distance.value * al)/(obj.résultat.value * vl)/60)/60)/24)*1000)/1000;
obj.jours.value = 11
}
</script>
</head>
<body>
<form>
<select id="planètes" name="planètes" onchange="distance_stel()" >
<option value="30" selected>Andoria</option>
<option value="75">Ba'Ku</option>
<option value="110">Q'onoS</option>
<option value="33">Risa</option>
<option value="130">Romulus</option>
<option value="131.5">Rémus</option>
<option value="50">Vulcain</option>
</select> <span class="jn12">située à </span>
<input type="text" id="distance" size="9" name="distance" value="30"><span class="jn12">
al à distorsion </span>
<input name="facteur1" id="facteur1" type="text" size="10" value="1"><span class="jn12">
il faut </span><input type="text" id="jours" name="jours" size="10">
<span class="jn12">jours </span>
</td>
</form>
</body>
</html>
Salut!
J'ai trouvé la solution et c'était vraiment une erreur de débutant, j'avais oublié de mettre <select id="planètes" name="planètes" onchange="distance_stel(this.form)" > dans la ligne d'appel de la fonction.
Il semble que Javascript soit un langage très pointilleux et que j'ai beaucoup à apprendre avant de pouvoir réaliser des scripts adéquats.
J'ai beaucoup d'expérience dans la prog VB, GWBasic mais je pense qu'il me faudra tout oublier pour performer dans les langages plus structurés.
Merci de votre temps
Irolaan
J'ai trouvé la solution et c'était vraiment une erreur de débutant, j'avais oublié de mettre <select id="planètes" name="planètes" onchange="distance_stel(this.form)" > dans la ligne d'appel de la fonction.
Il semble que Javascript soit un langage très pointilleux et que j'ai beaucoup à apprendre avant de pouvoir réaliser des scripts adéquats.
J'ai beaucoup d'expérience dans la prog VB, GWBasic mais je pense qu'il me faudra tout oublier pour performer dans les langages plus structurés.
Merci de votre temps
Irolaan
Salut.
Pour la première question, je ne saurai te dire exactement. Peut être ce sont des variantes qui ont subsistés au fur et à mesure de l'évolution du langage pour des questions de compatibilité avec d'anciens navigateurs. Pour ma part, j'utilise <script type="text/javascript"></script>, car c'est la même forme que pour la déclaration des feuilles de style.
Pour la seconde question, si tu pouvais en effet coller le script, ce serait plus facile.
Cdlt
IC
Pour la première question, je ne saurai te dire exactement. Peut être ce sont des variantes qui ont subsistés au fur et à mesure de l'évolution du langage pour des questions de compatibilité avec d'anciens navigateurs. Pour ma part, j'utilise <script type="text/javascript"></script>, car c'est la même forme que pour la déclaration des feuilles de style.
Pour la seconde question, si tu pouvais en effet coller le script, ce serait plus facile.
Cdlt
IC
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question