IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Elément du document inexistant


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Etudiant CNAM (DIE20)
    Inscrit en
    Janvier 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant CNAM (DIE20)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 151
    Points : 97
    Points
    97
    Par défaut Elément du document inexistant
    Bonjour,

    Ma calculette de conversion francs <-> euros ne fonctionne pas lors de l'appui sur le bouton : j'ai un message me signalant que document.saisie est indéfini. Pourtant j'ai l’impression (fausse à l'évidence ) de l'avoir déclaré correctement.

    Merci d'avance pour l'aide apportée !

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <HTML>
    	<HEAD>
    		<META http-equiv='content-type' content='text/html; charset=UTF8'>
    		<TITLE>TD 7 - Exo 2</TITLE>
    		<SCRIPT>
    			var taux = 6.55957;
    			function convFE(franc) {
    				return Math.round(100*franc/taux)/100;
    			}
    			function convEF(euro) {
    				return Math.round(100*euro*taux)/100;
    			}
    		</SCRIPT>
    	</HEAD>
    	<BODY>
    		<H1>Exercice 2.1</H1>
    		1 franc = <SCRIPT>javascript:document.write(convFE(1));</SCRIPT> euro<BR>
    		1 euro = <SCRIPT>javascript:document.write(convEF(1));</SCRIPT> francs<BR>
    		<INPUT
    			id="saisie"
    			type="text"
    			value="Inscrivez une valeur ici"
    			onFocus="this.value='';"
    		/>
    		<INPUT
    			id="b_ef"
    			type="button"
    			value="E->F"
    			onClick="
    				document.reponse.value
    					= convEF(parseInt(document.saisie.value));"
    		/>
    		<INPUT
    			id="reponse" 	
    			type="text"
    			value="Conversion"
    		/>
    		<H1>Exercice 2.2</H1>
    		1 franc = <SCRIPT>javascript:document.write(convFE(1));</SCRIPT> euro<BR>
    		1 euro = <SCRIPT>javascript:document.write(convEF(1));</SCRIPT> francs<BR>
    	</BODY>
    </HTML>

    EDIT : déjà, la coloration syntaxique par le forum est meilleure que celle de notepad++, me révélant un ">" qui traine dans value="E->F". Mais l'erreur persiste en corrigeant cela..
    EDIT 2 : bon, en plus, ça n'a pas l'air de poser tant de problème que cela mon ">"...

  2. #2
    Membre régulier
    Homme Profil pro
    Etudiant CNAM (DIE20)
    Inscrit en
    Janvier 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant CNAM (DIE20)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 151
    Points : 97
    Points
    97
    Par défaut
    J'ai fini par trouver une solution :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <HTML>
    	<HEAD>
    		<META http-equiv='content-type' content='text/html; charset=UTF8'>
    		<TITLE>TD 7 - Exo 2</TITLE>
    		<SCRIPT>
    			var taux = 6.55957;
    			function convFE(franc) {
    				return Math.round(100*franc/taux)/100;
    			}
    			function convEF(euro) {
    				return Math.round(100*euro*taux)/100;
    			}
    			function boutonEF() {
    				var inputSaisie = document.getElementById('saisie')
    				var n = parseInt(inputSaisie.value);
    				inputSaisie.value += " euro(s)";
    				var inputReponse = document.getElementById('reponse');
    				inputReponse.value = convEF(n) + " franc(s)";
    			}
    		</SCRIPT>
    	</HEAD>
    	<BODY>
    		<H1>Exercice 2.1</H1>
    		1 franc = <SCRIPT>javascript:document.write(convFE(1));</SCRIPT> euro<BR>
    		1 euro = <SCRIPT>javascript:document.write(convEF(1));</SCRIPT> francs<BR>
    		<INPUT
    			id="saisie"
    			type="text"
    			value="Inscrivez une valeur ici"
    			onFocus="this.value='';"
    		/>
    		<INPUT
    			id="b_ef"
    			type="button"
    			value="E->F"
    			onClick="boutonEF()"
    		/>
    		<INPUT
    			id="reponse" 	
    			type="text"
    			value="Conversion"
    		/>
    		<H1>Exercice 2.2</H1>
    		1 franc = <SCRIPT>javascript:document.write(convFE(1));</SCRIPT> euro<BR>
    		1 euro = <SCRIPT>javascript:document.write(convEF(1));</SCRIPT> francs<BR>
    	</BODY>
    </HTML>

    On est obligé de passer par un getElementById ? Je pensais que document.element était un objet que l'on pouvait manipuler ?

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 122
    Points : 44 914
    Points
    44 914
    Par défaut
    Bonjour,
    On est obligé de passer par un getElementById ?
    c'est ce qui ce fait de plus propre pour récupérer la référence à un élément.

    Quand tu écris
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <SCRIPT>javascript:document.write(convFE(1));</SCRIPT> euro<BR>
    et sans préjuger de l'utilisation du document.write, il n'est pas nécessaire de préciser javascript, qui est sous entendu dans une écriture HTML5, il te manque d'ailleurs le DOCTYPE en début de code.

    On en profite pour signaler que l'écriture des balisages en minuscule est aussi plus "moderne", idem pour les gestionnaires d'événement onclick et onfocus.

    Dernier point, mais pour mon info perso, le taux est toujours à 6.55957 ?????

  4. #4
    Membre régulier
    Homme Profil pro
    Etudiant CNAM (DIE20)
    Inscrit en
    Janvier 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant CNAM (DIE20)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 151
    Points : 97
    Points
    97
    Par défaut
    Merci pour ces infos.

    Pour le taux de change, oui je crois qu'il a été fixé de façon définitive, car la franc n'existe plus et donc n'évolue plus par rapport à l'euro. Mais il est évident qu'il y a eu dévaluation depuis, mais c'est tout aussi vrai de l'euro

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] SAXParseException: Elément racine de document manquant.
    Par RouRa22 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 06/12/2007, 20h27
  2. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  3. Documentation DirectX dans C++Builder 3
    Par srvremi dans le forum DirectX
    Réponses: 1
    Dernier message: 26/04/2002, 09h59
  4. Bibliothèques et documentation
    Par Anonymous dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/04/2002, 12h24
  5. Recherche de documentation complète en algorithmes
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 29/03/2002, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo