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 :

[AJAX] Tables différence entre IE et Firefox


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yuukuari
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut [AJAX] Tables différence entre IE et Firefox
    Bonjour j'ai un petit problème j'utilise l'AJAX pour renvoyer le traitement d'un form en php et suivant que j'utilise IE ou Firefox le résultat est différent (ici différent = génant ..).
    La première ligne de la table renvoyée n'est pas interprétée de la meme facon et seulement la première ligne o_O
    Voyez par vous meme:
    http://img246.imageshack.us/img246/3563/ieresultan8.jpg avec IE et http://img529.imageshack.us/img529/6...xresultfs0.jpg avec Firefox.

    Le code correspondant a la table a renvoyer est comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while($row = mysql_fetch_assoc($res)){
    	echo "	
    	<tr>
    		<td>
    			<form name='form_".$row["p077_Deal_Log_ID"]."' action='Deal_infos.php?id=".$row["p077_Deal_Log_ID"]."' target='_blank' method='post'>
    			<input type='image' src='../pics/icone.bmp'>
    			</form>
                    </td>
    		<td>".$row["p077_DPTID"]."</td>
                    [.....]
    		<td>".$row["Issues"]."</td>
    	</tr>";
    }
    En plus c'est une boucle donc je vois pas pourquoi il interprete mal la première ligne et mal les suivantes ..

    Si quelqu'un pouvait me mettre sur la voie merci

  2. #2
    Membre confirmé Avatar de yuukuari
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut
    Pour relancer mon sujet vu que j'ai pas de réponse et toujours mon probleme, le code html retourné du tableau avec firefox est le suivant:
    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
    <table name="task_result" border="1">
    	<tbody>
            <tr class="menu_tr">
    		<td></td>
    		<td>Type</td>
    		<td>Description</td>
    		<td>Due Date</td>
    	</tr>
    
    
    	<tr>
    		<td><input src="../pics/icone.bmp" type="image"></td>
    		</tr>
    		<td></td>
    		<td>30 day letter</td>
    		<td></td>
    	</tbody>
    	<tr>
    		<td><form name="form_15" action="Task_infos.php?id=15" target="_blank" method="post"><input src="../pics/icone.bmp" type="image"></form></td>
    		<td></td>
    		<td>30 day letter</td>
                    <td></td>
    	</tr>
    Pour la suite les tr sont normaux et a la fin la table est bien fermée. Ce que je ne comprend pas c'est ce que viens faire le tbody et pourquoi le premier form n'est pas pris en compte o_O il ferme meme le tr avant..

  3. #3
    Membre éprouvé
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    C'est simple, c'est parce que les normes W3C pour créer un tableau avec des lignes sont

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <table>
     <tbody>
      <tr>
       <td></td>
      </tr>
     </tbody>
    </table>
    Firefox ne comprend pas si tu ne mets pas de <tbody>

    J'ai déjà eu ce problème avant, et maintenant, je me plis aux normes : dès que je créer un tableau, je n'oublie plus mes TBODY! En plus, pour infos, tu peux mettre plusieurs TBODY dans un meme tableau!

  4. #4
    Membre confirmé Avatar de yuukuari
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut
    Je me doutais que le probleme venait de la donc j'ai un peu bidouiller sur la table que le javax renvoie. J'ai rajouté les <tbody> pour chaque <tr> de la boucle, mais ca ne marche toujours pas pour firefox ..
    J'ai aussi essayé d'en mettre seulement un juste après le <table> et de le fermer après tous les <tr> avant le </table> mais la non plus aucun changement.

    C'est meme pire en mettant les <tbody>, la table se ferme apres un premier passage dans la boucle:
    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
    <div id="query_result_task" style="display: inline;">
    <table name="task_result" border="1">
    	<tbody>
    		<tr class="menu_tr">
    			<td></td>
    			<td>Type</td>
    			<td>Description</td>
    			<td>Due Date</td>
    
    		</tr>
    	</tbody>
    //Début de la boucle, premiere ligne renvoyée
    	<tbody>
    		<tr>
    			<td><input src="../pics/icone.bmp" type="image"></td>
    			</tr>
    			<td></td>
                            <td>a</td>
    			<td></td>
    
    	</tbody>
    </table>
    //Seconde ligne renvoyée de la boucle
    	<tbody>
    		<tr>
    			<td><form name="form_3" action="Task_infos.php?id=3" target="_blank" method="post"><input src="../pics/icone.bmp" type="image"></form></td>
    			<td></td>
    			<td>dfgg</td>
    			<td></td>
    		</tr>
            </tbody>

  5. #5
    Membre éclairé
    Profil pro
    Développeur multimédia
    Inscrit en
    Mai 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mai 2005
    Messages : 57
    Par défaut
    Bonjour,

    Dans la première boucle renvoyée, la fermeture de ligne (</tr>) se trouve aprés la première cellule (<td>...</td>). Ce qui logiquement se traduit par : "passes à la ligne aprés la première cellule...". Puis il n'y a aucune ouverture de nouvelle ligne et des définitions de cellules... Tu m'étonnes que ça bug...

    1/ Enlève toutes tes balises <TR> et </TR>
    2/ Remplaces toutes tes balises <TBODY> et </TBODY> par des balises <TR> et </TR>
    3/ Met bien la balise </TABLE> à la fin de ton tableau... et pas en plein milieu...

    Et, Firefox comprend trés bien un tableau sans tbody... J'en met jamais (Honte à moi, je sais...) Par contre, je met toujours au moins un "&nbsp;" ou une image transparente dans mes <td></td>... Sinon, ça fait ce genre de bug...

    Essayes...

  6. #6
    Membre confirmé Avatar de yuukuari
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut
    Bonjour,
    Dans la première boucle renvoyée, la fermeture de ligne (</tr>) se trouve aprés la première cellule (<td>...</td>). Ce qui logiquement se traduit par : "passes à la ligne aprés la première cellule...". Puis il n'y a aucune ouverture de nouvelle ligne et des définitions de cellules... Tu m'étonnes que ça bug...

    1/ Enlève toutes tes balises <TR> et </TR>
    2/ Remplaces toutes tes balises <TBODY> et </TBODY> par des balises <TR> et </TR>
    3/ Met bien la balise </TABLE> à la fin de ton tableau... et pas en plein milieu...

    Et, Firefox comprend trés bien un tableau sans tbody... J'en met jamais (Honte à moi, je sais...) Par contre, je met toujours au moins un "&nbsp;" ou une image transparente dans mes <td></td>... Sinon, ça fait ce genre de bug...

    Essayes...
    le code que tu as lu et qui est a l'origine de ton message est le code renvoyé par ma boucle, il est erroné et a la base de mon problème. Ce que j'essaye de savoir c'est pourquoi il me retourne un code avec des <tr> nimporte ou et une <table> qui se ferme avant alors que la boucle est selon moi, tout ce qu'il y a de plus normale: Les <tr> et <td> bien ouverts et bien fermés, la table pareil. En présence des <tbody> ou non le problème persiste.

    Ca peut peut etre venir des propriétés du div dans lequel je renvoie le traitement ou alors la fonction en Javax qui appelle la page de traitement n'est pas bonne pour fonctionner sous IE et Firefox..

    Le div:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id='query_result_task' style='display:inline'>
    </div>
    La fonction Ajax appelée:

    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
    function go2(){
    	var xhr = getXhr();
    	// On défini ce qu'on va faire quand on aura la réponse
    	xhr.onreadystatechange = function(){
    		// We do something only if everything is ok
    		if(xhr.readyState == 4 && xhr.status == 200){
    			leselect = xhr.responseText;
    			// We use innerHTML to add Options to the list
    			document.getElementById('query_result_task').innerHTML = leselect;
    		}
    	}
      //On va vers la page Tasks_treatment.php
      xhr.open("POST","Tasks_treatment.php",true);
      xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    
      //On selectionne la valeur de l'option choisie de la liste deroulante
      sel_task = document.getElementById('task');
      select = sel_task.options[sel_task.selectedIndex].value;
      //On envoie dans l'url
      xhr.send("sel_task="+select);
    }
    La fonction getXhr() prend en compte IE et Firefox et la fonction go2() est presque identique a celle du tuto de ce site.

  7. #7
    Membre éprouvé
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    Citation Envoyé par xk155
    Bonjour,

    Dans la première boucle renvoyée, la fermeture de ligne (</tr>) se trouve aprés la première cellule (<td>...</td>). Ce qui logiquement se traduit par : "passes à la ligne aprés la première cellule...". Puis il n'y a aucune ouverture de nouvelle ligne et des définitions de cellules... Tu m'étonnes que ça bug...

    1/ Enlève toutes tes balises <TR> et </TR>
    2/ Remplaces toutes tes balises <TBODY> et </TBODY> par des balises <TR> et </TR>
    3/ Met bien la balise </TABLE> à la fin de ton tableau... et pas en plein milieu...

    Et, Firefox comprend trés bien un tableau sans tbody... J'en met jamais (Honte à moi, je sais...) Par contre, je met toujours au moins un "&nbsp;" ou une image transparente dans mes <td></td>... Sinon, ça fait ce genre de bug...

    Essayes...
    Je sais plus si c'est IE ou Firefox, mais quand tu créer une table avec le DOM (document.createElement("table")), si tu n'affectes pas de balise tbody, ton tableau foirera à coup sur! Enfin voilà

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

Discussions similaires

  1. différences entre IE et Firefox.
    Par Lionel_aw dans le forum jQuery
    Réponses: 1
    Dernier message: 20/02/2010, 09h50
  2. différence entre ie et firefox script ne fonctionne pas sous ce dernier
    Par mika-57- dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/06/2009, 09h26
  3. [HTML 4.0] Pb liens et différences entre IE et Firefox
    Par momofr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 22/02/2009, 19h04
  4. alignement : différence entre IE et FireFox
    Par philippef dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 08/10/2008, 13h01
  5. Différence entre IE et Firefox ?
    Par rosace dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 18/11/2007, 16h53

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