Rechercher : dans
Par :

Cet objet ne gère pas cette proriété ou ...

Dernière réponse le 13 aoû 2009 à 11:47:32 sebonoide, le 25 fév 2009 à 18:01:15 
 Signaler ce message aux modérateurs

Bonjour,

Je fais appel à vous car je rencontre un soucis très ennuyeux sous IE.

C'est dans le cadre d'un BBCODE, un lien faisant appel à une fonction js qui fais apparaitre une palette de couleurs où chaque couleur est un lien faisant appel à une autre fonction js qui elle insère le BBCODE dans la textArea.

Tous fonctionne sur les navigateurs autre que IE.

Sous IE le lien ne fonctionne pas, le debugger dis cet objet ne gère pas cette propriété ou cette methode.
En faisant des test j'ai remarqué que ce lien, si je le déplace hors des balise <form>, plus de soucis cela fonctionne.
J'ai donc mis en exemple des bout de code (XHTML, js) avec les 2 liens, une entre <form> et l'autre non

Quelqu'un aurait une idée?

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
        <title>azzz</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" media="screen" type="text/css" title="Design" href="designIE.css" />
   		
		<script type="text/Javascript" src="javascript/deroulement_bouton_couleur.js"></script>
		<script type="text/Javascript" src="javascript/addBBcode.js"></script>
    </head>
<body>
<form id="form_redaction_article">


<a href="#ancre" class ="bb_code_couleur" onclick="javascript:deroulement_bouton_couleur('deroulement_bouton_couleur', 'espace_invisible');" title="Cliquez ici pour choisir une couleur"><img src="images/boutons/bouton_BB_Code/bouton_couleur.png" alt = "non_visible" style="visibility:hidden;"/></a>

<fieldset id = "deroulement_bouton_couleur">
</fieldset>
<p id="espace_invisible" style="display:none;"></p>

						
<textarea class="centrer" name="redaction_article" id="redaction_article" rows="10" cols="90"></textarea>
</form>
<a href="#ancre" class ="bb_code_couleur" onclick="javascript:deroulement_bouton_couleur('deroulement_bouton_couleur', 'espace_invisible');" title="Cliquez ici pour choisir une couleur"><img src="images/boutons/bouton_BB_Code/bouton_couleur.png" alt = "non_visible" style="visibility:hidden;"/></a>
</body>
</html>


Les 2 javascripts
Le premier sert à afficher la palette de couleur

var affichage 

function deroulement_bouton_couleur(elmt, elmtb)
{
	if (affichage == undefined)
	{
		affichage = 1;
	}
	else
	{
		affichage += 1;
	}
	if (!(affichage%2) == 0)// si affichage n'est pas un multiple de 2
	{

		var az = document.getElementById(elmt);
		az.style.display = "block";
		var bz = document.getElementById(elmtb);
		bz.style.display = "block";
		
		var b_couleur_2 = document.createElement("a");
		b_couleur_2.className = "b_couleur_2";
		b_couleur_2.setAttribute("href","#ancre");
		b_couleur_2.setAttribute("title","Cliquer ici pour sélectionner la couleur");
		var img_b_couleur_2 = document.createElement("img");
		img_b_couleur_2.setAttribute("src","images/boutons/bouton_BB_Code/boutons_couleur/couleur_1.png");
    	img_b_couleur_2.setAttribute("alt","Jaune 1");
		img_b_couleur_2.style.visibility = "hidden";
		addEvent(b_couleur_2,"click",function (){insertion('[couleur=FFE963]','/couleur')});
///////////// suis 40 bloc comme le précédent pour chaque couleur//////////////
                b_couleur_2.appendChild(img_b_couleur_2);
/////etc/////
               az.appendChild(b_couleur_2);
/////etc/////
           }
	else
	{
		var az = document.getElementById(elmt);
		az.style.display = "none";
		var bz = document.getElementById(elmtb);
		bz.style.display = "none";
		while (az.firstChild)
		{
  			az.removeChild(az.firstChild);
		}
	}	
}

function addEvent(obj,event,fct){
     if(obj.attachEvent)
        obj.attachEvent('on' + event,fct);
     else
        obj.addEventListener(event,fct,true);
}



Le second sert as insérer le BBCODE dans la textarea

function insertion(repdeb, repfin) {
  var input = document.getElementById('redaction_article');
  input.focus();
  /* pour l'Explorer Internet */
  if(typeof document.selection != 'undefined') {
    /* Insertion du code de formatage */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = repdeb + insText + repfin;
    /* Ajustement de la position du curseur */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -repfin.length);
    } else {
      range.moveStart('character', repdeb.length + insText.length + repfin.length);
    }
    range.select();
  }
  /* pour navigateurs plus récents basés sur Gecko*/
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Insertion du code de formatage */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
    /* Ajustement de la position du curseur */
    var pos;
    if (insText.length == 0) {
      pos = start + repdeb.length;
    } else {
      pos = start + repdeb.length + insText.length + repfin.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* pour les autres navigateurs */
  else
  {
    /* requête de la position d'insertion */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Insertion du code de formatage */
    var insText = prompt("Veuillez entrer le texte à formater:");
    input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
  }
}
//-->
Configuration: Windows XP
Firefox 3.0.6

Meilleures réponses pour « Cet objet ne gère pas cette proriété ou ... » dans :
Gérer les partitions sous Windows VoirPour ceux qui veulent gérer leurs partitions sous Windows XP, Vista ou Sept sans télécharger aucun logiciel supplémentaire, voici la procédure : Accédez au gestionnaire de disque Partitionner son disque Réduire une partition Créer une...
[Pratique] Gérer les profils Firefox, Thunderbird, Seamonkey VoirGérer les profils de Firefox, Thunderbird, Seamonkey 1 - Gestionnaire de profils 1.1 - Windows 1.2 - Linux 2 - Les fichiers récupérables 2.1 - Où les trouver ? 2.2 - Quels fichiers sont intéressants ? 3 - Compléments...
[Internet] Gérer les cookies VoirGérer les cookies Les cookies sont des marques de votre passage sur les sites internet. Certains ne stockent que le mot de passe et le "login" correspondant à un site tandis que d'autres enregistrent davantage d'informations, généralement vos...
Javascript - L'objet String VoirLes particularités de l'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation...
Javascript - l'objet Array VoirLes particularités de l'objet Array L'objet Array est un objet du noyau Javascript permettant de créer et de manipuler des tableaux. Voici la syntaxe à utiliser pour créer une variable tableau : var x = new Array(element1[, element2, ...]); Si...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...

1

sebonoide, le 25 fév 2009 à 19:58:32
  • +1

Résolue

Répondre à sebonoide

2

 Baltos, le 13 aoû 2009 à 11:47:32
  • +1

C'est bien, il aurait été utile de savoir comment.

Répondre à Baltos