Cet objet ne gère pas cette proriété ou ...
Résolu
sebonoide
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Baltringue -
Baltringue -
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
Les 2 javascripts
Le premier sert à afficher la palette de couleur
Le second sert as insérer le BBCODE dans la textarea
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); } } //-->
A voir également:
- Cet objet ne gère pas cette proriété ou ...
- Vente objet occasion entre particulier - Guide
- Objet interdit en cabine ryanair - Guide
- Identifier un objet à partir d'une photo - Guide
- Mesurer un objet - Guide
- Appareil géré par l'administrateur réinitialisation automatique imminente ✓ - Forum LG