2010-10-08 4 views
1

J'ai une boîte de sélection qui utilise ajax pour remplir une div avec de nouvelles informations. Lorsque je sélectionne une option, le texte résultant apparaît et se formate correctement. Cependant, lorsque je sélectionne quelque chose de nouveau, le texte résultant ne se formate pas correctement et semble être écrasé ensemble. Le problème disparaît lorsque j'applique le focus en cliquant dans la zone relative. Je semble seulement avoir ce problème avec IE. Je n'ai aucune idée où commencer à chercher à déboguer cette chose, car il fonctionne parfaitement dans Firebug et je n'ai pas trouvé de sujets connexes sur SO. Quelqu'un at-il déjà eu ce problème avant?Formats HTML correctement après la mise au point appliquée

* D'accord, je n'ai aucune idée du code à présenter pour obtenir de l'aide. Mais ici je vais:

$.ajax({ 
     type: "POST", 
     url: "bccDates.php", 
     data: "CQID=" + CQID + "", 
     success: function(response){ 
      $('#BCCDates').html(response); //div that updates 
     } 
    }); 

// Ci-dessous si le php/html de la zone affectée.

echo "<div id=\"boxcarCapacityDates\"> \n"; 
echo "<form id=\"newDate\" name=\"newDate\" onSubmit=\"return validateDate('".$ID."')\"> \n"; 
echo "<h3>".$CQIDName."</h3> "; 
      echo "<p>No groupings exist for this Boxcar.</p>"; 
       echo "<p>Enter a Date: </p>"; 
       echo "<input type=\"text\" name=\"Date\" >\n"; 


       echo "<br /><p><input id=\"validate\" class=\"small orange awesome\" type=\"submit\" value=\"Submit\" ></p> \n"; 
     echo "</form> \n"; 
     echo "</div> \n"; 
+0

pouvez-vous écrire un code ou un exemple de lien? Il est impossible de répondre à votre question sans plus d'informations. – GSto

+0

Je ne sais pas si ça va aider, mais essayez de supprimer tous les '\" 'et remplacez-les par' ''. C'est probablement le problème.J'utilise toujours '' 'et il n'y a rien de mal ou invalide à ce sujet. le code où est défini CQID – ClarkeyBoy

+0

Je n'ai pas utilisé/j'ai dû utiliser IE depuis un certain temps, donc je ne peux pas le vérifier, mais il semble possible d'ajouter [Firebug lite to IE] (http://getfirebug.com/firebuglite) Cela pourrait valoir la peine d'essayer, pour voir ce qui se passe. –

Répondre

0

Le problème le plus probable réside dans la gestion de la mise en page d'Internet Explorer, et peut-être spécifiquement "hasLayout" (http://www.satzansatz.de/cssd/onhavinglayout.html).

J'ai eu ce problème en chargeant div dans une page via Ajax, qui se serait presque invariablement redresser lui-même (c'est-à-dire l'élément apparaît correctement) après avoir cliqué sur l'élément en question. La résolution dans mon expérience a presque toujours été quelque peu un css-crap-shoot, forçant l'élément inséré/ses parent (s) etc. à hasLayout (sic) en appliquant zoom (en particulier) et position:relative. Donc: avoir un tir appliquant zoom:1 (premier), et position:relative (moins susceptible de fixer-tout) et à l'élément en question, tester, revenir, appliquer à son parent, tester etc etc ad nauseum up le DOM. Dans les cas chanceux, il sera résolu avec l'application sur l'élément inséré ou son parent, mais cela dépendra dans une large mesure de la façon dont tous les éléments parents ont été affichés et de la complexité du DOM. Une fois que vous avez la combinaison gagnante, je dirais mettre le zoom:1 etc. dans une feuille de style spécifique à IE, et l'inclure avec les tags spécifiques à la version IE.

Bonne chance!