Javascript
Fermé
Irolaan
-
24 sept. 2008 à 07:08
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 - 25 sept. 2008 à 20:31
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 - 25 sept. 2008 à 20:31
A voir également:
- Javascript
- Telecharger javascript - Télécharger - Langages
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript echo ✓ - Forum PHP
- Erreur #125 javascript - Forum Mozilla Firefox
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
6 réponses
incaout
Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
25 sept. 2008 à 08:55
25 sept. 2008 à 08:55
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
incaout
Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
24 sept. 2008 à 08:38
24 sept. 2008 à 08:38
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
m0c88
Messages postés
8
Date d'inscription
mercredi 24 septembre 2008
Statut
Membre
Dernière intervention
26 février 2009
1
24 sept. 2008 à 09:09
24 sept. 2008 à 09:09
Pour completer ce qu'a dit incaout, la balise "<script language="JavaScript">" est considérée comme obsolete et n'est pls correctement interprétée par tous les navigateurs, utilise donc la seconde.
Pour le reste, il faut le script...
Pour le reste, il faut le script...
incaout
Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
25 sept. 2008 à 20:31
25 sept. 2008 à 20:31
Bonne continuation :-)
IC
IC