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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    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 ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    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 averti
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    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 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    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 très actif 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
    Par défaut
    C est possible de voir le code HTML generé par tous ce PHP STP

+ 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