Question

J'ai un problème avec l’ éditeur de texte gratuit FreeTextBox de mon site ASP.NET. Le problème survient lorsque j'accède au site avec firefox et que j'ai une instance de freetextbox dans un div caché. La div cachée peut également être un panneau à onglets AJAX. Le problème actuel est que lors du chargement de la page, une exception non capturée est lancée (firebug montre la fonction StoreHtml ()) et arrête la publication !!

Y at-il un problème et une solution à ce problème?

Merci

Était-ce utile?

La solution

J'ai récemment rencontré un problème similaire avec les onglets de l'interface utilisateur jQuery. Ce que vous devez faire est de changer le CSS pour les onglets cachés en quelque chose comme:

.hiddentab
{
     position: absolute;
     left: -99999999999999;
}

Ceci place les onglets masqués loin à gauche et, en mode de position absolue, les barres de défilement horizontales n'apparaissent pas. Lorsque l'onglet est affiché, supprimez simplement la classe hiddentab de l'élément de tabulation.

Cela fonctionnera si le problème est lié au comportement étrange de Firefox avec display: none.

Autres conseils

J'ai trouvé une autre solution au problème au cas où quelqu'un le chercherait. Ce que j'ai fait, c'est utiliser du javascript pour remplacer la fonction OnSubmit du formulaire, interceptant ainsi l'exception à l'origine du problème et poursuivant avec le reste du code.

Cependant, la solution est un peu "hack". car il ne couvre pas toutes les situations. J'ai trouvé la solution dans le forum FreeTextBox et je l'ai essayé. et il fonctionne. La seule différence dans mon code est que je renvoie true à la fin de la fonction de substitution:

function OvrdSubmit()
{
    var ftbSubmit=document.forms[0].onsubmit;
    if (typeof(ftbSubmit) == 'function')
    {
        document.forms[0].onsubmit = function()
        {
            try{ftbSubmit();}
            catch(ex){}
        }
    }

    // We are ok
    return true;
}

Comme mon site est un site ASP.NET, j'ai également dû ajouter cette ligne dans le Page_Load ():

ClientScript.RegisterOnSubmitStatement(this.GetType(), String.Concat(this.ClientID, "_OnSubmit"), "javascript: return OvrdSubmit();");

J'espère que cela aidera tout le monde avec le même problème.

Firefox a un problème pour être à l'intérieur de quelque chose avec un style d'affichage: aucun. Ce que j'ai fait est d'utiliser un div avec un zIndex qui cache le div jusqu'à ce que j'en ai besoin. Je commencerais par là.

Merci de votre réponse, mais le problème actuel est que la FreeTextBox se trouve dans un panneau de tabulations AJAX. Par conséquent, je devrais reconstituer toute la fonctionnalité des tabulations pour pouvoir le faire, et je n’ai pas suffisamment de temps!

Pour ce que cela vaut, je suis proche d'une solution (je pense) en définissant l'attribut .ReadOnly du FTB sur true, puis en le redéfinissant sur false sur le controlo .PreRender. Cela fonctionne pour la première fois que la page se charge, alors je dois maintenant trouver comment implémenter cela correctement pour chaque publication.

Je posterai la solution si je la trouve!

Merci quand même!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top