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 :

HTML5 et IE8


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut HTML5 et IE8
    Bonjour,

    j'ai int�gr� dans mon code un script qui devait permettre IE8 d'ex�cuter du html5, mais ce n'est pas le cas ; pourquoi ?

    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
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>Test data-attributes</title>
    	<!--[if lte IE 8]>
    		<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    	<![endif]--> 
      </head>
      <body>
     
        <section>
          <a href="test_css.html">Retour</a>
            <form>
                Entrez votre numéro (data-infos=15) : <input type="text" id="donnee" data-infos="15" onchange="mafonction()" />	
    <br/><br/><script>
                    function mafonction(){
                        var infos = document.getElementById('donnee').value;
                        var monelement = document.getElementById('donnee');
     
                        var element = monelement.dataset.infos;
     
                        document.getElementById('result').value=parseInt(infos)+parseInt(element);
                    }
                </script>
               <br/> Résultat : <input type="text" id="result" />
            </form>
        </section>
      </body></html>
    en l'occurrence, si je rentre une valeur dans le premier champ, celle-ci est cens�e �tre affich�e dans le second champ additionn�e de 15, or si c'est bien le cas avec Firefox, non avec IE8.

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    J'imagine que tu as lu attentivement la doc et que tu t'es assur� que ton script prend en charge les dataset...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut
    Non, j'avoue que pour moi, c'�tait HTML5 ou non (mais faut savoir que j'ai d�couvert le HTML5 cette semaine...)
    Et de doc, m�me en cherchant sur Google, je n'ai trouv� que cette page qui dit "partiellement" support� ; donc moyen. A d�faut, j'ai essay� de remplacer la fonction par du javascript :
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    function mafonction() {
    	var infos=document.getElementById('donnee').value;
    	//var element=monelement.dataset.infos;
    	var monelement = document.getElementById('donnee');
    // Lecture d'une valeur
    	var data-infos = monelement.getAttribute('data-infos');
    	document.getElementById('result').value=parseInt(infos)+parseInt(data-infos);
    }
    mais �a veut pas non plus

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    var data-infos


    J'imagine que si on te dit d'apprendre JavaScript, ce sera encore trop te demander...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut
    OK, pas de - dans une variable js...mais m�me avec
    Code js : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    function mafonction() {
    	var infos=document.getElementById('donnee').value;
    	//var element=monelement.dataset.infos;
    	var monelement = document.getElementById('donnee');
    // Lecture d'une valeur
    	var datainfos = monelement.getAttribute('data-infos');
    	document.getElementById('result').value=parseInt(infos)+parseInt(datainfos);
    }
    �a marche toujours pas...

    Et si je rajoute un alert :
    Code js : S�lectionner tout - Visualiser dans une fen�tre � part
    alert('result='+parseInt(infos)+parseInt(datainfos));
    je vois que les 2 nombres sont concat�n�s et pas additionn�s (normal, vu qu'en js, le + est le symb�le de la concat�nation), mais du coup, comment faire ?

  6. #6
    Membre Expert

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par d�faut
    En rajoutant des parenth�ses tout simplement

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert('result='+(parseInt(infos)+parseInt(datainfos)));

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut
    Merci pour le truc des parenth�ses (simple mais il faut le savoir) par contre, j'arrive toujours pas � faire marcher le dataset avec IE8 :
    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
    <form>
    numéro : (data_infos=15) : <input type="text" id="donnee" data-infos="15" onchange="mafonction()"/>
    <!-- data-infos="15" onchange="mafonction()" -->
    <br/>
    <script>
    function mafonction() {
            var infos=document.getElementById('donnee').value;
            //var element=monelement.dataset.infos;
            var monelement = document.getElementById('donnee');
    // Lecture d'une valeur
            var datainfos = monelement.getAttribute('data-infos');
            alert('infos:'+infos +'  data-infos:'+datainfos+'  result='+(parseFloat(infos)*1+parseFloat(datainfos)*1));
            document.getElementById('result').value=((parseFloat(infos)*1+parseFloat(datainfos)*1));
    }
    </script>
    <br/>
    Résultat : <input type="text" id="result" value=""/>
    <input type="submit" value="entrer">
    </form>


    EDIT : j'ai remplac� les parseInt par des parseFloat et rajout� des *1 pour l'avoir lu sur d'autres fils de discussion, mais �a ne change rien

  8. #8
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par d�faut
    Ton code tel qu'il est l� fonctionne, sauf que ton event onchange n'est pas forc�ment le bon, puisqu'il est trigger seulement si tu as un vrai changement dans le champ ou si tu focusout (blur) le champ.

    Donc utilise onkeyup c'est mieux.

    ensuite tu peux tr�s bien simplifier ton code en faisant �a :
    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
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>JS Bin</title>
    </head>
    <body>
    <form>
    numéro : (data_infos=15) : <input type="text" id="donnee" data-infos="15" onkeyup="mafonction(this)"/>
    <!-- data-infos="15" onchange="mafonction()" -->
    <br/>
    <script>
    function mafonction(monelement) {
        var infos=monelement.value;
            var datainfos = monelement.getAttribute('data-infos');
            document.getElementById('result').value=infos*1+datainfos*1;
    }
    </script>
    <br/>
    Résultat : <input type="text" id="result" value=""/>
    <input type="submit" value="entrer">
    </form>
    </body>
    </html>

  9. #9
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par laurentSc
    j'ai remplac� les parseInt par des parseFloat et rajout� des *1
    Oui... en gros, tu t'amuses (comme le fait remarquer arnogues) � faire plusieurs fois la m�me chose parce que tu ne sais pas exactement ce que fais le code que tu �cris... Tant qu'� faire, essaye
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    (parseFloat(+Number(infos)-0)*1+parseFloat(+Number(datainfos)-0)*1)
    Ensuite, m�me si ce n'est pas � proprement parler une erreur syntaxique, la position de ton script dans la page rel�ve au mieux de l'incoh�rence... lorsqu'on �crit du code que l'on veut maintenir facilement, on essaye d'organiser un minimum les choses... Ce qui semble encore montrer que tu ne maitrises pas du tout qui fait quoi ni quand...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  10. #10
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut
    Merci, avec le onkeyup, �a fonctionne...et Bovino, c'�tait pas pour m'amuser : j'avais lu cette recommandation dans un post et l'avais essay�e...

  11. #11
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Ouais... enfin, ce sur quoi je voulais mettre le doigt, ce n'�tait pas que tu t'amuses mais le fait que tu ne comprends pas le code que tu �cris, ce qui est largement plus inqui�tant...
    J'aimerais bien voir o� tu as vu qu'il �tait utile de multiplier par 1 le r�sultat d'un parseFloat()...
    Que tu aies pu voir la multiplication par 1 comme dans l'exemple donn� par arnogues est largement envisageable, car c'est une des m�thodes pour transtyper dynamiquement une chaine en nombre, mais dans le code que tu as donn�, �a ne sert � rien sinon � montrer que tu ne comprends pas ce que fait ton propre code...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. probl�me activit� IE8
    Par Lancelot du Lac dans le forum G�n�ral Conception Web
    R�ponses: 2
    Dernier message: 08/04/2008, 06h12
  2. IE8 et le demi-tour de Microsoft
    Par Lancelot du Lac dans le forum G�n�ral Conception Web
    R�ponses: 0
    Dernier message: 08/03/2008, 08h05
  3. HTML5 Dessin dans une page
    Par sekaijin dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 29/01/2007, 09h05

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