Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1557 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Code jvs qui fonctionne sous IE 6 et 7 mais pas 8 et Google Chrome

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Code jvs qui fonctionne sous IE 6 et 7 mais pas 8 et Google Chrome

n°1916856
4lkaline
Posté le 19-08-2009 à 23:02:12  profilanswer
 

Bonjour à tous,
 
J'ai un formulaire avec une liste que je remplis ou vide grace à 2 boutons "Ajouter" et "Supprimer":
 

Code :
  1. <script type="text/javascript">
  2.  function ajoutarticle()
  3.  { 
  4.   var opt = document.createElement("OPTION" )
  5.   opt.text = document.getElementById('ListeArticleID').value
  6.          document.getElementById('panierID').add(opt)
  7.   CalculTotal()
  8.  }
  9.  function Supprimer(list) {
  10.    if (list.options.selectedIndex>=0) {
  11.     list.options[list.options.selectedIndex]=null;
  12.    } else {
  13.     alert("Suppression impossible : aucun article sélectionné" );
  14.    }
  15.    CalculTotal()
  16.  }
  17.  function CalculTotal() {
  18.    if (document.getElementById('LivraisonID').value==1){
  19.     document.getElementById('totalID').value = parseInt(document.getElementById('panierID').length) *16 + 2.90
  20.    }else{
  21.     document.getElementById('totalID').value = parseInt(document.getElementById('panierID').length) *16    
  22.    }
  23.  }
  24.  </script>


 
Bouton Ajouter:

Code :
  1. <label>
  2.           <input type="button" name="btn_ajouter" id="btn_ajouter" value="Ajouter au panier" onclick="ajoutarticle()" />
  3.         </label>


 
Bouton supprimer un item:

Code :
  1. <label>
  2.           <input type="button" name="btnsuppr" id="btnsuppr" value="Supprimer cet article" onclick="Supprimer(this.form.panierID)" />
  3.         </label>


 
Ca fonctionne nikel sur IE 6 et 7,mais pas sur la 8,ni sur Google Chrome. [:matleflou]  
 
Quelqu'un peut me dire ce qu'il faut faire pour que ca tourne  [:delarue3]
 
Petite question au passage,c'est possible de mettre la valeur de ma textebox "Total" comme value la dedans? :

Code :
  1. <input type="hidden" name="amount" value="Ma textbox Total"  >


Message édité par 4lkaline le 19-08-2009 à 23:06:07

---------------
"Qu'est-ce que je vais devenir ? Je suis ministre, je ne sais rien faire !" Saluste (la Folie des Grandeurs)
mood
Publicité
Posté le 19-08-2009 à 23:02:12  profilanswer
 

n°1916860
tpierron
Posté le 19-08-2009 à 23:22:53  profilanswer
 

Je dirais que ton erreur vient de là :

Code :
  1. <input type="button" name="btnsuppr" id="btnsuppr" value="Supprimer cet article"
  2.       onclick="Supprimer(this.form.panierID)" />


J'aurais plutôt mis :

Code :
  1. <input type="button" name="btnsuppr" id="btnsuppr" value="Supprimer cet article"  
  2.       onclick="Supprimer(document.getElementById('panierID'))" />


Sinon quelques remarques :

  • input dans un label, pas sûr que ça serve à quelque chose.
  • la propriété .length est déjà un entier, pas besoin de faire un parseInt() dessus.

n°1916865
4lkaline
Posté le 19-08-2009 à 23:29:44  profilanswer
 

Merci de ton aide,je vais tester ca.
J'ai oublié de préciser le "ca ne marche pas",en fait c'est le bouton Ajouter qui ne fonctionne pas,quand je clique dessus rien ne se passe.(De ce fait je ne peux pas tester "Supprimer" )


Message édité par 4lkaline le 19-08-2009 à 23:38:56

---------------
"Qu'est-ce que je vais devenir ? Je suis ministre, je ne sais rien faire !" Saluste (la Folie des Grandeurs)
n°1917092
tpierron
Posté le 20-08-2009 à 15:27:23  profilanswer
 

Ah ouais, effectivement. À tout hasard, si tu as un doctype XHTML, il faut que les noms des éléments soient en minuscule (en HTML tu peux mixer la casse). Donc je ferais un truc du genre :
 

Code :
  1. var opt = document.createElement("option" )


Message édité par tpierron le 20-08-2009 à 15:28:33
n°1917321
4lkaline
Posté le 21-08-2009 à 12:08:34  profilanswer
 

Bon j'ai tenté de creuser le pourquoi du comment.
 
Lorsque je clique sur le bouton Ajouter,rien ne se passe comme indiqué avant,et un petit panneau warning jaune apparait en bas dans le coin gauche d'IE8,en cliquant dessus j'ai le détail de l'erreur:

Citation :

Détails de l’erreur de la page Web
Message : Objet requis
Ligne : 18
Caractère : 4
Code : 0


 
En allant à la ligne 18 de ma page,j'ai trouvé que c'est la ligne ci dessous qui plante:

Citation :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd">


 
Si je la vire ca fonctionne  [:cerveau shay]  ,mais la page est dégeu [:matleflou]  
 Je suis un peu paumé la...
 


Message édité par 4lkaline le 22-08-2009 à 00:33:26

---------------
"Qu'est-ce que je vais devenir ? Je suis ministre, je ne sais rien faire !" Saluste (la Folie des Grandeurs)
n°1917350
tpierron
Posté le 21-08-2009 à 15:12:36  profilanswer
 

Oué vu la gestion merdicimale des erreurs sous IE, je te conseille d'utiliser soit un débugguer javascript ou un autre navigateur, et si ce n'est pas trop long, poste le code entier de la page.

n°1917793
4lkaline
Posté le 24-08-2009 à 11:33:08  profilanswer
 

Alors voici le kit graphique que j'ai utilisé (telechargeable sur le site):
http://www.kits-gratuits.net/site/preview.php?id=54
 
Si vous l'ouvrez avec les nouveaux navigateurs,le menu du haut "Acceuil Portfolio Contact" va être completement décallé vers la haut,si vous l'ouvrez avec IE 6 ou 7,pas de soucis il sera à la bonne place.
Et ce bug fait également planter mon code Jvs.
 
Si je vire le <!DOCTYPE ,l'affichage est nikel et le code fonctionne,mais ca décalle tous le kit vers la gauche :/


Message édité par 4lkaline le 24-08-2009 à 11:33:42

---------------
"Qu'est-ce que je vais devenir ? Je suis ministre, je ne sais rien faire !" Saluste (la Folie des Grandeurs)
n°1917864
tpierron
Posté le 24-08-2009 à 15:20:22  profilanswer
 

Hmm, cet exemple utilise des frames, est-ce aussi le cas de ton site ? Si c'est le cas ton doctype n'est pas bon.
 
Tout ça pour un bandeau en plus, ça me parait overkill. T'as pas un lien vers le site ou un exemple de code qui foire ?

n°1917897
4lkaline
Posté le 24-08-2009 à 17:23:53  profilanswer
 

Et bien c'est trés simple,j'ai pris le kit graphique tel quel que tu peux downloader ici:
http://www.kits-gratuits.net/kits/kit-41/archive.zip
 
Et remplace juste le code du fichier index par celui ci:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3.    <head>
  4.         <title>MonSite.Com | ::</title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6.         <meta http-equiv="Content-Language" content="fr" />
  7.            <meta http-equiv="Content-Script-Type" content="text/javascript" />
  8.            <meta http-equiv="Content-Style-Type" content="text/css" />
  9.         <meta name="DC.Language" scheme="RFC3066" content="fr" />
  10.         <link rel="stylesheet" href="style.css" type="text/css" media="screen" title="Normal" />
  11.        
  12.         <script type="text/javascript">
  13.   function ajoutarticle()
  14.   {
  15.    var opt = document.createElement("OPTION" )
  16.    opt.text = document.getElementById('ListeArticleID').value
  17.           document.getElementById('panierID').add(opt)
  18.    CalculTotal()
  19.   }
  20.   function Supprimer(list) {
  21.     if (list.options.selectedIndex>=0) {
  22.      list.options[list.options.selectedIndex]=null;
  23.     } else {
  24.      alert("Suppression impossible : aucun article sélectionné" );
  25.     }
  26.     CalculTotal()
  27.   }
  28.   function CalculTotal() {
  29.     if (document.getElementById('LivraisonID').value==1){
  30.      document.getElementById('totalID').value = parseInt(document.getElementById('panierID').length) *16 + 2.90
  31.     }else{
  32.      document.getElementById('totalID').value = parseInt(document.getElementById('panierID').length) *16   
  33.     }
  34.   }
  35.   </script>
  36.    </head>
  37. <body>
  38. <div id="page">
  39. <a href="index.htm"><img src="./images/interface/titre.png" alt="Logo" id="logo" /></a>
  40. <ul id="menu">
  41. <li><a href="">Accueil</a></li>
  42. <li><a href="">Portfolio</a></li>
  43. <li><a href="">Contact</a></li>
  44. <li><a href="">Services</a></li>
  45. <li><a href="">Forums</a></li>
  46. </ul>
  47. <h1>VotreSite.Com</h1>
  48. <div id="contenu">
  49. <div id="bloc">
  50. <h2>Créez votre commande:</h2>
  51.       <p>&nbsp;</p>
  52.       <form id="form1" method="post" action="">
  53.         <p>
  54.           <label>Articles:
  55.             <select name="ListeArticleID">
  56.               <option value="1">Ref:1 Objet1</option>
  57.               <option value="2">Ref:2 Objet2</option>
  58.               <option value="3">Ref:3 Objet3</option>
  59.             </select>
  60.           </label>
  61.         &nbsp;&nbsp;&nbsp;
  62.         <label>
  63.           <input type="button" name="btn_ajouter" id="btn_ajouter" value="Ajouter au panier" onclick="ajoutarticle()" />
  64.         </label>
  65.         </p>
  66.         <p>&nbsp;</p>
  67.         <p>Votre panier:</p>
  68.         <p>
  69.           <label>
  70.             <select style="width: 220px" name="panierID" size="5" id="panierID">
  71.             </select>
  72.           </label>
  73.         &nbsp;&nbsp;&nbsp;
  74.         <label>
  75.           <input type="button" name="btnsuppr" id="btnsuppr" value="Supprimer cet article" onclick="Supprimer(document.getElementById('panierID'))"  />
  76.         </label>
  77.         </p>
  78.         <p>&nbsp;</p>
  79.         <p>
  80.           <label>
  81.             <select name="LivraisonID" id="LivraisonID"  onchange="CalculTotal()">
  82.               <option value="1">Livraison à domicile (2,90)</option>
  83.               <option value="2">Remise en main propre sur Paris</option>
  84.             </select>
  85.           </label>
  86.         </p>
  87.         <p>&nbsp;</p>
  88.         <p><strong>Total:</strong>
  89.           <label>
  90.             <input name="totalID" type="text" id="totalID" size="6" />
  91.           </label>
  92.         </p>
  93.         <p>&nbsp;</p>
  94.         <p>&nbsp;</p>
  95.         <p>&nbsp;</p>
  96.       </form>
  97. <p class="commentaires"><a href=""><em>6</em> commentaires</a></p>
  98.   </div>
  99. <div id="menu_gauche">
  100. <h2>Menu premier</h2>
  101.  <ul>
  102.   <li><a href="">Un menu</a></li>
  103.   <li><a href="">Horizontal</a></li>
  104.   <li><a href="">Comme &ccedil;a</a></li>
  105.   <li><a href="">C'est</a></li>
  106.   <li><a href="">Vraiment</a></li>
  107.   <li><a href="">Pas mal !</a></li>
  108.  </ul>
  109. <h2>Menu second</h2>
  110.  <ul>
  111.   <li><a href="">Un menu</a></li>
  112.   <li><a href="">Horizontal</a></li>
  113.   <li><a href="">Comme &ccedil;a</a></li>
  114.   <li><a href="">C'est</a></li>
  115.   <li><a href="">Vraiment</a></li>
  116.   <li><a href="">Pas mal !</a></li>
  117.  </ul>
  118. </div>
  119. </div>
  120. </div>
  121. </body>
  122. </html>


Je viens de tester,sous IE 7 ca tourne nikel,sous IE8 ou Firefox non....Tu cliques sur ajouter ca ne fait rien...


---------------
"Qu'est-ce que je vais devenir ? Je suis ministre, je ne sais rien faire !" Saluste (la Folie des Grandeurs)
n°1917899
pataluc
Posté le 24-08-2009 à 17:47:14  profilanswer
 

ca marche sur ie parce qu'ie accepte n'importe quoi comme code... ton pb n'a rien à voir avec ton kit, mais avec ton code JS...  je te conseille firefox+ extension firebug pour debugger tout ca...

 

ca te permettra de voir:

 
  • qu'il te manque des ";" à la fin de certaines lignes de JS
  • que tu utilise getElementById pour récupérer un objet alors qu'il n'a pas d'id mais un name
  • que la méthode add() sous firefox nécessite 2 arguments (http://www.w3schools.com/htmldom/met_select_add.asp):
 

ce qui donne ca qui marche très bien chez moi sous FF.

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3.    <head>
  4.         <title>MonSite.Com | ::</title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6.         <meta http-equiv="Content-Language" content="fr" />
  7.            <meta http-equiv="Content-Script-Type" content="text/javascript" />
  8.            <meta http-equiv="Content-Style-Type" content="text/css" />
  9.         <meta name="DC.Language" scheme="RFC3066" content="fr" />
  10.         <link rel="stylesheet" href="style.css" type="text/css" media="screen" title="Normal" />
  11.      
  12.         <script type="text/javascript">
  13.   function ajoutarticle()
  14.   {
  15.     var opt = document.createElement("option" );
  16.     opt.text = document.getElementById('ListeArticleID').value;
  17.     try
  18.     {
  19.       document.getElementById('panierID').add(opt, null);
  20.     }
  21.     catch(ex)
  22.     {
  23.       document.getElementById('panierID').add(opt);
  24.     }
  25.    
  26.    CalculTotal()
  27.   }
  28.   function Supprimer(list) {
  29.     if (list.options.selectedIndex>=0) {
  30.      list.options[list.options.selectedIndex]=null;
  31.     } else {
  32.      alert("Suppression impossible : aucun article sélectionné" );
  33.     }
  34.     CalculTotal()
  35.   }
  36.   function CalculTotal() {
  37.     if (document.getElementById('LivraisonID').value==1){
  38.      document.getElementById('totalID').value = parseInt(document.getElementById('panierID').length) *16 + 2.90;
  39.     }else{
  40.      document.getElementById('totalID').value = parseInt(document.getElementById('panierID').length) *16   ;
  41.     }
  42.   }
  43.   </script>
  44.    </head>
  45. <body>
  46. <div id="page">
  47. <a href="index.htm"><img src="./images/interface/titre.png" alt="Logo" id="logo" /></a>
  48. <ul id="menu">
  49. <li><a href="">Accueil</a></li>
  50. <li><a href="">Portfolio</a></li>
  51. <li><a href="">Contact</a></li>
  52. <li><a href="">Services</a></li>
  53. <li><a href="">Forums</a></li>
  54. </ul>
  55. <h1>VotreSite.Com</h1>
  56. <div id="contenu">
  57. <div id="bloc">
  58. <h2>Créez votre commande:</h2>
  59.       <p>&nbsp;</p>
  60.       <form id="form1" method="post" action="">
  61.         <p>
  62.           <label>Articles:
  63.             <select name="ListeArticleID" id="ListeArticleID">
  64.               <option value="1">Ref:1 Objet1</option>
  65.               <option value="2">Ref:2 Objet2</option>
  66.               <option value="3">Ref:3 Objet3</option>
  67.             </select>
  68.           </label>
  69.         &nbsp;&nbsp;&nbsp;
  70.         <label>
  71.           <input type="button" name="btn_ajouter" id="btn_ajouter" value="Ajouter au panier" onclick="ajoutarticle()" />
  72.         </label>
  73.         </p>
  74.         <p>&nbsp;</p>
  75.         <p>Votre panier:</p>
  76.         <p>
  77.           <label>
  78.             <select style="width: 220px" name="panierID" size="5" id="panierID">
  79.             </select>
  80.           </label>
  81.         &nbsp;&nbsp;&nbsp;
  82.         <label>
  83.           <input type="button" name="btnsuppr" id="btnsuppr" value="Supprimer cet article" onclick="Supprimer(document.getElementById('panierID'))"  />
  84.         </label>
  85.         </p>
  86.         <p>&nbsp;</p>
  87.         <p>
  88.           <label>
  89.             <select name="LivraisonID" id="LivraisonID"  onchange="CalculTotal()">
  90.               <option value="1">Livraison à domicile (2,90)</option>
  91.               <option value="2">Remise en main propre sur Paris</option>
  92.             </select>
  93.           </label>
  94.         </p>
  95.         <p>&nbsp;</p>
  96.         <p><strong>Total:</strong>
  97.           <label>
  98.             <input name="totalID" type="text" id="totalID" size="6" />
  99.           </label>
  100.         </p>
  101.         <p>&nbsp;</p>
  102.         <p>&nbsp;</p>
  103.         <p>&nbsp;</p>
  104.       </form>
  105. <p class="commentaires"><a href=""><em>6</em> commentaires</a></p>
  106.   </div>
  107. <div id="menu_gauche">
  108. <h2>Menu premier</h2>
  109. <ul>
  110.   <li><a href="">Un menu</a></li>
  111.   <li><a href="">Horizontal</a></li>
  112.   <li><a href="">Comme &ccedil;a</a></li>
  113.   <li><a href="">C'est</a></li>
  114.   <li><a href="">Vraiment</a></li>
  115.   <li><a href="">Pas mal !</a></li>
  116. </ul>
  117. <h2>Menu second</h2>
  118. <ul>
  119.   <li><a href="">Un menu</a></li>
  120.   <li><a href="">Horizontal</a></li>
  121.   <li><a href="">Comme &ccedil;a</a></li>
  122.   <li><a href="">C'est</a></li>
  123.   <li><a href="">Vraiment</a></li>
  124.   <li><a href="">Pas mal !</a></li>
  125. </ul>
  126. </div>
  127. </div>
  128. </div>
  129. </body>
  130. </html>


Message édité par pataluc le 24-08-2009 à 17:48:44
mood
Publicité
Posté le 24-08-2009 à 17:47:14  profilanswer
 

n°1917926
4lkaline
Posté le 24-08-2009 à 20:40:55  profilanswer
 

Citation :

qu'il te manque des ";" à la fin de certaines lignes de JS


Je n'en mettais jamais  [:matleflou]  

Citation :

que tu utilise getElementById pour récupérer un objet alors qu'il n'a pas d'id mais un name


Corrigé et ca fonctionne  [:cerveau shay]  
 
Et effectivement faut que je telecharge un outils pour compiler mon code  [:cerveau spamafote]  
 
Par contre,pour le menu en haut,je sais pas ce que ca donne sous FF,mais sous IE8,ca me le décale completement en haut,une idée du pourquoi?
 
Sinon j'avais une question également dans mon premier post:

Code :
  1. <input type="hidden" name="amount" value="Ma textbox totalID"  >


C'est quoi la syntaxe ici pour mettre la valeur de la textbox "totalID"  :??:  
 
En tous cas merci beaucoup pour votre aide!


Message édité par 4lkaline le 24-08-2009 à 20:41:22

---------------
"Qu'est-ce que je vais devenir ? Je suis ministre, je ne sais rien faire !" Saluste (la Folie des Grandeurs)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Code jvs qui fonctionne sous IE 6 et 7 mais pas 8 et Google Chrome

 

Sujets relatifs
Bouton Supprimer ... fonctionne pas ...verification code chargement java appelant un fichier prolog via jpl
Google Earth dans un site WebProbleme de code java /LDAP
[Résolu] Placer le code source d'une page web en buffer (Winnet)strip_tags ne fonctionne pas
[ajax] Mon readyState ne dépasse pas 1 avec IERéférencement Google Actualités
[VBA]ouvrir un page internet et inscrire un code pour ouvrir undossiercode d'authentification
Plus de sujets relatifs à : Code jvs qui fonctionne sous IE 6 et 7 mais pas 8 et Google Chrome


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR