[Résolu] Pb onClick (javascript) sous firefox 3.0.6

Pb onClick (javascript) sous firefox 3.0.6 [Résolu] - HTML/CSS - Programmation

Marsh Posté le 19-02-2009 à 16:01:18    

Bonjour,
 
voilà j'ai un code javascript que voici
 
[code = Javascript]
 
<img class="out" src="images/icone_gras.jpg"
          width="16" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="format('b');">
<img class="out" src="images/Italique.gif"
          width="16" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="format('i');">
<img class="out" src="images/hypertexte.gif"
          width="32" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="lien();">
<img class="out" src="images/pcenter.png"
          width="16" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="format('align=center');">
<img class="out" src="images/pleft.png"
          width="16" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="format('align=left');">
<img class="out" src="images/pright.png"
          width="16" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="format('align=right');">
<img class="out" src="images/pjust.png"
          width="16" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="format('align=justify');">
<img class="out" src="images/underline.png"
          width="16" height="16" align="middle"
          onMouseOver="this.className='over';" onMouseOut="this.className='out';"
          onClick="format('s');">
[/code]
 
et j'ai comme l'impression que c'est ma fonction onClick qui ne fonctionne pas sous Firefox ou alors j'ai une erreur autre part.  
 
Après de nombreuse recherche j'ai vu qu'il y avais des problèmes de compatibilité avec Onclick sous FF.
 
NB : ce script marche très bien sous IE7
 
Merci d'avance de votre aide.
 
Benjamin


Message édité par injall2 le 20-02-2009 à 09:34:02

---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Marsh Posté le 19-02-2009 à 16:01:18   

Reply

Marsh Posté le 19-02-2009 à 16:13:13    

c'est quoi ta fonction format ?


---------------

Reply

Marsh Posté le 19-02-2009 à 16:28:20    

voici ma fonction format flo850 :
 
function format(f) {
  var str = document.selection.createRange().text;
  document.frmarticle.contenu_art.focus();
  var sel = document.selection.createRange();
  sel.text = "<" + f + ">" + str + "</" + f + ">";
  return;
}
 
function lien() {
  var str = document.selection.createRange().text;
  document.frmarticle.contenu_art.focus();
  var lien = prompt("URL:","http://" );
  if (lien != null) {
    var sel = document.selection.createRange();
    sel.text = "<a href=\"" + lien + "\">" + str + "</a>";
  }
  return;
}


---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Marsh Posté le 20-02-2009 à 09:33:12    

résolution :  
 
function format(f) {
var mess = document.frmarticle.contenu_art;
//Pour Internet Explorer
  if (document.selection) {
  var str = document.selection.createRange().text;
  mess.focus();
  var sel = document.selection.createRange();
  sel.text = "<" + f + ">" + str + "</" + f + ">";
  return;
  }
  //Pour Firefox, Netscape et consors
  //(je n'ai pas testé avec Opera)
  else if (mess.selectionStart || mess.selectionStart == "0" ) {
    var startPos = mess.selectionStart;
    var endPos = mess.selectionEnd;
    var chaine = mess.value;
    var str = chaine.substring( mess.selectionStart, mess.selectionEnd );
 
  mess.value = chaine.substring(0,startPos) +  "<" + f + ">" + str + "</" + f + ">" + chaine.substring(endPos, chaine.length);
 mess.selectionStart = startPos + instext.length;
    mess.selectionEnd = endPos + instext.length;
    mess.focus();
 return;
  }
}


Message édité par injall2 le 20-02-2009 à 09:33:28

---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed