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 :

[DOM] Incompatibilité DOM avec IE


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [DOM] Incompatibilité DOM avec IE
    Bonjour a tous.
    Je suis en train de réaliser une page html qui peut s'apparenter à du e-commerce. Je dispose d'une tableau de produit avec, sur chaque ligne, un champs texte concernant la quantité du produit concerné. Ce champs txt est modifiable avec deux boutons "plus" et "moins" pour incrémenter ou décrémenter la valeur de ce champs.

    A chaque fois que le champs est modifié, l'objet en question est ajouté dans un tableau récapitulatif.

    Mon problème est que le script que je vous propose si dessous marche sous firefox mais pas sous IE. J'aurai voulu savoir si vous pouviez m'aider à débusquer l'erreur

    Code : 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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <script language="javascript">
    	function addNB(ref,lib){
    		document.forms["form1"].elements["nb"+ref].value = parseInt(document.forms["form1"].elements["nb"+ref].value) + 1 ;
     
    		if(document.getElementById("enfant"+ref) != null){
     
    			var nouveau = document.createTextNode(document.forms["form1"].elements["nb"+ref].value);
    			document.getElementById("quantite"+ref).replaceChild(nouveau,document.getElementById("quantite"+ref).firstChild);
     
    		}else{
     
    			var ligne = document.createElement("tr");
     
    			var colonne = document.createElement("td");
     
    			var quantite = document.createElement("td");
     
    			var id = document.createAttribute("id");
     
    			var id2 = document.createAttribute("id");
     
    			id.nodeValue = "enfant"+ref;
    			id2.nodeValue = "quantite"+ref;
    			ligne.setAttributeNode(id);
    			quantite.setAttributeNode(id2);
     
    			var texteprecedent = document.createTextNode(lib);
     
    			var quantitetxt = document.createTextNode(document.forms["form1"].elements["nb"+ref].value);
     
    			quantite.appendChild(quantitetxt);
    			colonne.appendChild(texteprecedent);
    			ligne.appendChild(quantite);
    			ligne.appendChild(colonne);
     
    			document.getElementById("commande").appendChild(ligne);
     
    		}
    	}
     
     
    	function subNB(ref){
    		if(document.forms["form1"].elements["nb"+ref].value > 0) {
    			if(document.forms["form1"].elements["nb"+ref].value > 1){
     
    				var quantitetxt = document.createTextNode(parseInt(document.forms["form1"].elements["nb"+ref].value) - 1);	
    				var nodeQuantite = document.getElementById("quantite"+ref);		
    				nodeQuantite.replaceChild(quantitetxt,nodeQuantite.firstChild);
    				document.forms["form1"].elements["nb"+ref].value = parseInt(document.forms["form1"].elements["nb"+ref].value) - 1 ;
    			}else{
     
    				var enfant = document.getElementById("enfant"+ref);
    				var table = document.getElementById("commande");
    				table.removeChild(enfant);
    				document.forms["form1"].elements["nb"+ref].value = parseInt(document.forms["form1"].elements["nb"+ref].value) - 1 ;
     
    				}
    		}
    	}
     
    </script>
    Voila, merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    normalement, sur ie, lors d'erreurs javascript
    tu as un petit panneau attention qui apparait dans la barre de statut...

    trouve la ligne qui pose problème et tu auras déjà bien avancé...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui, mais le plus bizarre c'est que je n'ai pas d'erreurs javascript sous IE, pas de petit panneau jaune en bas a gauche de la fenêtre. Et c'est justement ca qui me fait sourciller!!

    La seul différence avec Firefox, c'est que IE ne m'affiche pas les changement...

Discussions similaires

  1. [DOM][Java] Problème avec le retour de getNodeName()
    Par anutka dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 11/04/2012, 21h38
  2. [DOM] Problème bizarre avec DOM et XPath
    Par fragmonster dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/03/2006, 14h43
  3. [DOM] Créer <input> avec un type != "text"
    Par Mr N. dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/02/2006, 09h54
  4. [DOM] Validation xml avec PHP
    Par thefaycal dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/01/2006, 21h15
  5. [DOM] Données "utilisateur" avec les evenements DOM
    Par pedouille dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/12/2005, 17h07

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