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 :

IE n'actualise pas pour 1 valeur


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 24
    Points
    24
    Par défaut IE n'actualise pas pour 1 valeur
    Bonjour,
    tout d'abord mon script tourne sous FF.
    J'ai un script qui rempli des valeurs de liste déroulante (que j'ai repompé vu ma connaissance du JS et AJAX) et lorsque l'on rempli un champ, l'autre liste se remplit.
    Mais voilà sous IE, j 'essaie la premiere valeur, ca marche, je change de valeur il ne trouve plus rien (alors qu'il devrait) et si je reviens a l'autre valeur il refonctionne.
    Voilà mon problème
    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    et si tu appuyes sur ce bouton là ??? ça fait quoi ...


    un peu léger pour que l'on puisse donner quelque diagnostique qu ce soit ... il ressemble à quoi ton code ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    Ok desolé, je pensai que ça aurait pu etre une erreur de raisonnement (script appelé trop tôt...)

    niveau HTML/PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
          $etape=2;
          echo '<span id="niv2">'.ENDL;
          include('./inc/ajax.php'); //<!--Pour remplir la liste deroulante 2--> 
          echo '</span><br />'.ENDL;
          echo '			</td><td></td>'.ENDL;
          echo '    </tr>'.ENDL;
     
          $etape=3;
          echo '    <tr><td align="left">Liste 3</td>'.ENDL;
          echo '			<td colspan="3" align="left">'.ENDL;
          echo '<span id="niv3">'.ENDL;
          include('./inc/ajax.php'); //<!--Pour remplir la liste deroulante 3 && 4 -->
          echo '</span><br />'.ENDL;


    niveau AJAX

    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
    62
    63
    64
    65
    66
    67
     
    if($etape=='2' || $_GET['etape']==2){
    $Ld1_retour =''; // clé de la liste déroulante 1, ici fixée
     
    if (isset($_GET['Ld1'])) {$Ld1_retour = $_GET['Ld1'];}
     
    if ($Ld1_retour!='') {
    	$rq="REQUETE where xxx=".$Ld1_retour.";";
    	$rq_pos_id=0;
    	$rq_pos_val=1;
    	$result= mysql_query ($rq) or die ("Select impossible");
    	$retour = '<select name="Liste2" id="Liste2" size="1" onChange="ValideLd3(this[this.selectedIndex].value);">';
    	$retour .= '<option value="">Choisir</option>';
     
    	if (mysql_num_rows($result) != 0) {
    		while ($row = mysql_fetch_row($result)) {
    			$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
    		}
    		$retour .= '</select>';
    	} else {
    		$retour = '<input id="Liste2" type="text" value="Aucune valeur" disabled>';
    	}
     
    }
    else
    	$retour = '<select name="Liste2" id="Liste2" disabled><option>Aucune valeur</option></select>';
    }
     
    //3
     
    if($etape=='3' || $_GET['etape']==3){
    $Ld1_retour =''; //clé de la liste déroulante 1, inutile ici
    $Ld2_retour =''; //clé de la liste déroulante 2	
     
    if (isset($_GET['Ld1'])) $Ld1_retour = $_GET['Ld1'];
    if (isset($_GET['Ld2'])) $Ld2_retour = $_GET['Ld2'];
     
    if (($Ld2_retour!='')) {
     
    	// User
      $rq="REQUETE where xxx=".$Ld2_retour;
    	$rq.=';';
      $rq_pos_id=0;
    	$rq_pos_val=1;
    	$result= mysql_query($rq) or die ("Select impossible");
    	$retour = '<select name="Liste3" id="Liste3" size="1">';
    	$retour .= '<option value="">Choisir</option>';
     
    	if (mysql_num_rows($result) != 0) {
    		while ($row = mysql_fetch_row($result)) {
    			$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
    		}
    	$retour .= '</select>';
    	}
      else 
    		$retour = '<select name="Liste3" id="Liste3" disabled size="1"><option>Aucune valeur</option></select>';
     
      /* 2eme liste */	
    	$req='REQUETE where xxx='.$Ld2_retour;
      $retour.= ' <select name="Site" id="Liste4" size="1" width="120" style="width:120px">';
      $rq_pos_id=0;
    	$rq_pos_val=1;
      $result=mysql_query($req) or die("Impossible de selectionner les sites");
      while ($row = mysql_fetch_row($result)) {
    		$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
    	 }
    	$retour .= '</select>';


    niveau JS

    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
     
    function ValideLd2(val) {
    	Ld1Id=val; 
    	id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL = '../inc/ajax.php?etape=2&Ld1='+Ld1Id;
    	ObjetXHR(LD_URL)
    	// Réinitialisation de Ld3 & Ld2 si modification de Ld1 après passage en Ld2
    	if (Ld2Id!='') {ValideLd3('');
                      ValideLd2(Ld1Id);}             
    }
     
    function ValideLd3(val) {
    	Ld2Id=val; 
    	id_liste='3'; //Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL = '../inc/ajax.php?etape=3&Ld1='+Ld1Id+'&Ld2='+Ld2Id;
    	if (Ld2Id=='') {var LD_URL = '../inc/ajax.php?etape=3';}	
    	ObjetXHR(LD_URL)
    }
    et aussi de quoi envoyer la requete (fonction ObjetXHR)

    Désolé aussi de devoir cacher les requetes mais je suis sur qu'elles fonctionnent.
    Je précise aussi que la 2eme liste dans l'étape 3 se remplit bien.

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    Encore un autre détail qui me fait me taper la tête sur les murs, ca marche sous IE7 pas sous le 6, et c'est vraiment pour 1 valeur qu'il ne veut pas, toutes les autres ca fonctionne...
    (Voilà aussi pourquoi je pensais que le code n'était pas utile, si ça peut vous éviter de la lecture inutile )

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 882
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 882
    Points : 16 286
    Points
    16 286
    Par défaut
    C'est la fonction ObjetXHR qu'il serait intéressant de voir ...

    Je pense que c'est un problème de removeChild et la longueur jusqu'à laquelle ta boucle doit aller.

  6. #6
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    C est possible de voir le code HTML generé par tous ce PHP STP

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    Merci de vos réponses, mais quand je vous disais que c'était un problème à la c**:
    il fallait vider le cache de IE pour que ça marche...

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

Discussions similaires

  1. [XL-2003] Boucle for ne s’arrête pas pour la valeur fixée
    Par magikmed dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 08/04/2015, 01h56
  2. Réponses: 3
    Dernier message: 05/08/2011, 10h36
  3. [AC-2002] Code pour pour ne pas afficher la valeur 0
    Par Gonteur dans le forum VBA Access
    Réponses: 5
    Dernier message: 22/12/2010, 19h04
  4. Réponses: 5
    Dernier message: 11/10/2010, 09h16
  5. [AC-2007] Valeur par défaut n'actualise pas mon sous formulaire
    Par georgesasc dans le forum IHM
    Réponses: 0
    Dernier message: 12/07/2010, 15h56

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