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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS]Problème d'execution de fction sur onchange() avec IE7

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS]Problème d'execution de fction sur onchange() avec IE7

n°1599133
Stuntman
Posté le 13-08-2007 à 19:00:20  profilanswer
 

Bonjour à tous et à toutes.
Voici mon problème j'ai une petit fonction js qui est appelée sur un onchange() d'une liste déroulante HTML.
Or cette fonction JS fonctionne très bien sous Mozila FF et pas du tout sous IE 7 :/
IE m'indique "erreur d'execution inconnue" Code 0.
J'ai également un problème d'affichage de la liste déroulante. Quand je clic dessus je ne voit pas les valeurs présentes dans la liste!
 
 
Liste HTML

Code :
  1. <select name="map1" size="1" class="mon_sel" onchange="map();">
  2.    <option selected value=""></option>
  3.    <option value="de_dust2">de_dust2</option>
  4.    <option value="de_train">de_train</option>
  5.    <option value="de_cbble">de_cbble</option>
  6.    <option value="de_inferno">de_inferno</option>
  7.    <option value="de_nuke">de_nuke</option>
  8.    <option value="cpl_mil">cpl_mil</option>
  9.    </select>


Fonction JS

Code :
  1. <script language="javascript">
  2. function map(){
  3. if(document.frm_ajout_war.map1.value!="" ){
  4.   document.getElementById('map1').innerHTML='<td>'+
  5.   'Map 1:'+
  6.  '</td>'+
  7.  '<td>'+
  8.   '<input name="score_map1_rebirth" type="text" value="0" size="1" maxlength="2" />'+
  9.   '-'+
  10.   '<input name="score_map1_adv" type="text" value="0" size="1" maxlength="2" />'+
  11.  '</td>';
  12.  }
  13.  else{
  14.  document.getElementById('map1').innerHTML=''
  15.  }
  16. if(document.frm_ajout_war.map2.value!="" ){
  17.  document.getElementById('map2').innerHTML='<td>'+
  18.  'Map 2:'+
  19. '</td>'+
  20. '<td>'+
  21.  '<input name="score_map2_rebirth" type="text" value="0" size="1" maxlength="2" />'+
  22.  '-'+
  23.  '<input name="score_map2_adv" type="text" value="0" size="1" maxlength="2" />'+
  24. '</td>';
  25. }
  26. else{
  27. document.getElementById('map2').innerHTML=''
  28. }
  29. if(document.frm_ajout_war.map3.value!="" ){
  30. document.getElementById('map3').innerHTML='<td>'+
  31. 'Map 3:'+
  32. '</td>'+
  33. '<td>'+
  34.  '<input name="score_map3_rebirth" type="text" value="0" size="1" maxlength="2" />'+
  35.  '-'+
  36.  '<input name="score_map3_adv" type="text" value="0" size="1" maxlength="2" />'+
  37. '</td>';
  38. }
  39. else{
  40. document.getElementById('map3').innerHTML=''
  41. }
  42. }
  43. </script>


 
CSS de la liste déroulante

Code :
  1. SELECT.mon_sel {
  2. WIDTH: 150px;
  3. }


Message édité par Stuntman le 13-08-2007 à 19:00:55
mood
Publicité
Posté le 13-08-2007 à 19:00:20  profilanswer
 

n°1599407
theredled
● REC
Posté le 14-08-2007 à 14:27:28  profilanswer
 

<select name="map1" size="1"
 
[:pingouino dei]


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1599499
Stuntman
Posté le 14-08-2007 à 16:37:51  profilanswer
 

Ba wé pour qu'il affiche qu'un seul élément à la fois non?  :??:  :(

n°1599501
gatsu35
Blablaté par Harko
Posté le 14-08-2007 à 16:42:46  profilanswer
 

on pourrait voir le code HTML associé s'il te plait. Car là tu essaye de melanger les name et les id ce qui n'est pas bon pour IE et de plus on ne fait pas de innerHTML dans un <table> ca pete à la gueule sous IE

n°1599515
theredled
● REC
Posté le 14-08-2007 à 17:20:55  profilanswer
 

Stuntman a écrit :

Ba wé pour qu'il affiche qu'un seul élément à la fois non?  :??:  :(


ah oui dsl c'est moi qui chie :D


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1599569
Stuntman
Posté le 14-08-2007 à 20:38:38  profilanswer
 

gatsu35 a écrit :

on pourrait voir le code HTML associé s'il te plait. Car là tu essaye de melanger les name et les id ce qui n'est pas bon pour IE et de plus on ne fait pas de innerHTML dans un <table> ca pete à la gueule sous IE


 
Ok, mais moi j'en ai besoin de tableau dans mon inner (pour la présentation).

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. </head>
  6. <body>
  7. <center><b>- Ajouter une war -</b></center>
  8. <?php
  9. if($erreur>0)
  10. {
  11.  echo '<center><font color="red"><i>Tous les champs sont obligatoires.</i></font></center><br /><br />';
  12. }
  13. ?>
  14. <br /><br />
  15. <script language="javascript">
  16. function map(){
  17. if(document.frm_ajout_war.map1.value!="" ){
  18.   document.getElementById('map1').innerHTML='<td>'+
  19.   'Map 1:'+
  20.  '</td>'+
  21.  '<td>'+
  22.   '<input name="score_map1_rebirth" type="text" value="0" size="1" maxlength="2" />'+
  23.   '-'+
  24.   '<input name="score_map1_adv" type="text" value="0" size="1" maxlength="2" />'+
  25.  '</td>';
  26.  }
  27.  else{
  28.  document.getElementById('map1').innerHTML=''
  29.  }
  30. if(document.frm_ajout_war.map2.value!="" ){
  31.  document.getElementById('map2').innerHTML='<td>'+
  32.  'Map 2:'+
  33. '</td>'+
  34. '<td>'+
  35.  '<input name="score_map2_rebirth" type="text" value="0" size="1" maxlength="2" />'+
  36.  '-'+
  37.  '<input name="score_map2_adv" type="text" value="0" size="1" maxlength="2" />'+
  38. '</td>';
  39. }
  40. else{
  41. document.getElementById('map2').innerHTML=''
  42. }
  43. if(document.frm_ajout_war.map3.value!="" ){
  44. document.getElementById('map3').innerHTML='<td>'+
  45. 'Map 3:'+
  46. '</td>'+
  47. '<td>'+
  48.  '<input name="score_map3_rebirth" type="text" value="0" size="1" maxlength="2" />'+
  49.  '-'+
  50.  '<input name="score_map3_adv" type="text" value="0" size="1" maxlength="2" />'+
  51. '</td>';
  52. }
  53. else{
  54. document.getElementById('map3').innerHTML=''
  55. }
  56. }
  57. </script>
  58. <?php
  59. if (isset($_POST['saisie']))
  60. {
  61. if (($_POST['saisie'])=='oui')
  62. {
  63.  $erreur;
  64.  if (isset($_POST['date']))
  65.  {
  66.   $date=$_POST['date'];
  67.   if (($_POST['date'])=='')
  68.   {
  69.    $erreur=$erreur+1;
  70.   }
  71.  }
  72.  if (isset($_POST['type_match']))
  73.  {
  74.   $type_match=$_POST['type_match'];
  75.   if (($_POST['type_match'])=='')
  76.   {
  77.    $erreur=$erreur+1;
  78.   }
  79.  }
  80.  if (isset($_POST['adv']))
  81.  {
  82.   $adv=$_POST['adv'];
  83.   if (($_POST['adv'])=='')
  84.   {
  85.    $erreur=$erreur+1;
  86.   }
  87.  }
  88.  if (isset($_POST['map1']))
  89.  {
  90.   $map1=$_POST['map1'];
  91.   if (empty($map1))
  92.   {
  93.    $erreur=$erreur+1;
  94.   }
  95.  }
  96.  if (isset($_POST['map2']))
  97.  {
  98.   $map1=$_POST['map2'];
  99.   if (empty($map2))
  100.   {
  101.    $erreur=$erreur+1;
  102.   }
  103.  }
  104.  if (isset($_POST['map3']))
  105.  {
  106.   $map1=$_POST['map3'];
  107.   if (empty($map3))
  108.   {
  109.    $erreur=$erreur+1;
  110.   }
  111.  }
  112.  if (isset($_POST['rapport']))
  113.  {
  114.   $rapport=$_POST['rapport'];
  115.  }
  116. }
  117. if ($date!='')
  118. {
  119.  // connexion à la base
  120.  include('sql/startsql.php');
  121.  //  requête sql
  122.  $req = "INSERT INTO wars(adversaire,date,map1,map2,map3,typematch,rapport) VALUES('$adv','$date','$map1','$map2','$map3','$type_match','$rapport')";
  123.  // on insère les informations du formulaire dans la table
  124.  mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
  125.  mysql_close();  // on ferme la connexion
  126. ?>
  127.  <?php $ajout=true?>
  128.  <center><font color="red"><i>Wars ajoutée.</i></font></center><br /><br />
  129.  <script language="javascript">
  130.   setTimeout("window.location.replace('index.php')",3000)
  131.  </script>
  132. <?php
  133. }
  134. }
  135. ?>
  136. <?php
  137. if(empty($_SESSION['pseudo'])) // si non logué
  138. {
  139. echo "<br /><br />Vous n'êtes pas autorisé a accèdez à l'administration du site.<br /><br />";
  140. }
  141. else{ // si logué
  142. ?>
  143. <?php
  144. $date=date("d/m/Y" )
  145. ?>
  146. <?php
  147. if($ajout==false)
  148.  {
  149. ?>
  150. <form method="post" action="#" name="frm_ajout_war">
  151. <input type="hidden" name="saisie" value="oui" />
  152. <table align="center" border="0">
  153.  <tr align="center">
  154.   <td width="199">
  155.    Date  </td>
  156.   <td width="210">
  157.    <input name="date" type="text" maxlength="10" size="10"value="<?php echo $date ?>">
  158.    </td>
  159.  </tr>
  160.  <tr>
  161.   <td>
  162.    <br />
  163.   </td>
  164.  </tr>
  165.  <tr align="center">
  166.   <td colspan="2">
  167.    <b>Détails Match</b>
  168.   </td>
  169.  </tr>
  170.  <tr>
  171.   <td>
  172.    <br />
  173.   </td>
  174.  </tr>
  175.  <tr align="center">
  176.   <td>
  177.    Type de match
  178.   </td>
  179.   <td align="center">
  180.    <select name="type_match" size="1" class="mon_sel">
  181.     <option value="WCG Qualification">WCG Qualification</option>
  182.     <option value="ESL">ESL</option>
  183.    </select>
  184.   </td>
  185.  </tr>
  186.   <tr align="center">
  187.   <td>
  188.    Adversaire
  189.   </td>
  190.   <td align="center">
  191.    <input name="adv" type="text" size="20" maxlength="20" />
  192.   </td>
  193.  </tr>
  194.  <tr align="center">
  195.   <td>
  196.    Map 1
  197.   </td>
  198.   <td>
  199.    <select name="map1" size="1" class="mon_sel" onchange="map();">
  200.     <option selected value=""></option>
  201.     <option value="de_dust2">de_dust2</option>
  202.     <option value="de_train">de_train</option>
  203.     <option value="de_cbble">de_cbble</option>
  204.     <option value="de_inferno">de_inferno</option>
  205.     <option value="de_nuke">de_nuke</option>
  206.     <option value="cpl_mil">cpl_mil</option>
  207.     </select>
  208.   </td>
  209.  </tr>
  210.  <tr align="center">
  211.   <td>
  212.    Map 2
  213.   </td>
  214.   <td>
  215.    <select name="map2" size="1" class="mon_sel" onchange="map();">
  216.     <option selected value=""></option>
  217.     <option value="de_dust2">de_dust2</option>
  218.     <option value="de_train">de_train</option>
  219.     <option value="de_cbble">de_cbble</option>
  220.     <option value="de_inferno">de_inferno</option>
  221.     <option value="de_nuke">de_nuke</option>
  222.     <option value="cpl_mil">cpl_mil</option>
  223.     </select>
  224.   </td>
  225.  </tr>
  226.  <tr align="center">
  227.   <td>
  228.    Map 3
  229.   </td>
  230.   <td>
  231.    <select name="map3" size="1" class="mon_sel" onchange="map();">
  232.     <option selected value=""></option>
  233.     <option value="de_dust2">de_dust2</option>
  234.     <option value="de_train">de_train</option>
  235.     <option value="de_cbble">de_cbble</option>
  236.     <option value="de_inferno">de_inferno</option>
  237.     <option value="de_nuke">de_nuke</option>
  238.     <option value="cpl_mil">cpl_mil</option>
  239.     </select>
  240.   </td>
  241.  </tr>
  242.  <tr>
  243.   <td>
  244.    <br />
  245.   </td>
  246.  </tr>
  247.  <tr align="center">
  248.   <td colspan="2">
  249.    <b>Scores</b>
  250.   </td>
  251.  </tr>
  252.  <tr>
  253.   <td>
  254.    <br />
  255.   </td>
  256.  </tr>
  257.  <tr align="center" id="map1">
  258.  </tr>
  259.  <tr align="center" id="map2">
  260.  </tr>
  261.  <tr align="center" id="map3">
  262.  </tr>
  263.  <tr>
  264.   <td>
  265.    <br />
  266.   </td>
  267.  </tr>
  268.  <tr align="center">
  269.   <td colspan="2">
  270.    <b>Commentaires</b>
  271.   </td>
  272.  </tr>
  273.  <tr>
  274.   <td>
  275.    <br />
  276.   </td>
  277.  </tr>
  278.  <tr align="center">
  279.   <td colspan="2">
  280.    <textarea name="rapport" cols="50" rows="10">Votre texte ici, maximum 255 caractères.</textarea>
  281.   </td>
  282.  </tr>
  283.  <tr>
  284.   <td>
  285.    <br />
  286.   </td>
  287.  </tr>
  288.  <tr align="center">
  289.   <td align="right">
  290.    <input type="submit" value="Ajouter" name="submit" />
  291.   </td>
  292.   <td align="left">
  293.    <input type="reset" value="Effacer" name="reset" />
  294.   </td>
  295.  </tr>
  296. </table>
  297. </form>
  298. <br />
  299. <?php
  300. }
  301. }
  302. ?>
  303. <a href="?CONTENT=gestionnews"><center><b>- Retour -</b></center> </a>
  304. </body>
  305. </html>

n°1599755
theredled
● REC
Posté le 15-08-2007 à 12:47:25  profilanswer
 

Citation :

XHTML 1.0 Strict


+

Citation :

<center><font color="red"><i>Wars ajoutée.


=
panpan cucu :D

 

et sinon pour remplacer le innerHTML il faut que tu utilises le DOM.

 

pour le reste je sais pas.


Message édité par theredled le 15-08-2007 à 12:50:00

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1599757
Stuntman
Posté le 15-08-2007 à 13:44:04  profilanswer
 

Humm, c'est pas très clair pour moi...
Tu peux préciser?

n°1599767
theredled
● REC
Posté le 15-08-2007 à 16:11:23  profilanswer
 

Stuntman a écrit :

Humm, c'est pas très clair pour moi...
Tu peux préciser?


Le DOM en gros c'est un ensemble de fonctions (intégrées entre autres à javascript) qui permettent de manipuler une page HTML. Pour plus de détails, et la doc -> Google
tiens je t'aide : http://www.xul.fr/xml-dom.html

 


Pour le reste, le but du XHTML (surtout strict !), est comme chacun sait de séparer le contenu de la présentation des pages (XHTML + CSS), donc les balises <font> <center> etc sont méga-over à bânir et pas valides. Et même sans parler de validité, la séparation présentation/contenu c'est quand même une base du dev web... Disons que je souhaite à personne d'avoir à faire des modifs sur ton site :D


Message édité par theredled le 15-08-2007 à 16:13:29

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1600055
Stuntman
Posté le 16-08-2007 à 15:03:08  profilanswer
 

Merci de cette précision, mais ca résolue toujours pas mon problème de JS :/  
Faire du DOM ca me paraît au dessus de mes connaissances.

mood
Publicité
Posté le 16-08-2007 à 15:03:08  profilanswer
 

n°1600177
gatsu35
Blablaté par Harko
Posté le 16-08-2007 à 19:00:32  profilanswer
 

En fait si on veut comprendre ce que c'est le DOM c'est simple :  
 
d'un coté on a le JS et d'un autre le HTML
JS ---------- HTML
 
Le DOM est tout simplement une interface entre le JS et le HTML, et plus précisément une répresentation Objet de ta page HTML
JS----DOM----HTML

n°1600206
Stuntman
Posté le 16-08-2007 à 21:29:33  profilanswer
 

Ok merci.


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

  [JS]Problème d'execution de fction sur onchange() avec IE7

 

Sujets relatifs
Probleme marge IE et objet COMProblème d'include entre sous-domaines
probleme dans un projet (niveau debutant)Problème avec nom de champs identique
[Résolu] Problème ActionScript - fonction onLoadProblème ActionScript (Flash) - onLoad
[VBS] Probleme WMI distant (sur Win32_Product){Résolu} problème URL et variables
[C++] Problème stringstream/fstream et rdbuf() [résolu]Problème pour une requête sql
Plus de sujets relatifs à : [JS]Problème d'execution de fction sur onchange() avec IE7


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