lien image en bas du message

4 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

En cours lien image en bas du message

Message par greffiers Mar 27 Mar 2012 - 13:43

bonjour,
je viens de créer un forum.
lorsque je veux mettre une image dans un message, le lien de celle-ci se place d'office en bas du message et je suis obligé de le déplacer manuellement pour le placer à la bonne place.
comment faire pour que le lien se place là où il faut sans être obligé de le déplacer.
merci d'avance de votre réponse
cordialement.
avatar

greffiers
Nouveau membre

Messages : 19
Inscrit(e) le : 27/03/2012

http://greffiersandco.forumgratuit.org
greffiers a été remercié(e) par l'auteur de ce sujet.

En cours Re: lien image en bas du message

Message par Pinguino Mar 27 Mar 2012 - 16:56

Bonjour,


si le lien se place directement en bas du message c'est parce que vous avez d'abord frappé votre texte et insérer l'image après.

Essayez de mettre l'image au fur et à mesure que vous éditez votre message.

Cordialement,

Smile
Pinguino

Pinguino
Adminactif
Adminactif

Masculin
Messages : 13622
Inscrit(e) le : 02/05/2004

Pinguino a été remercié(e) par l'auteur de ce sujet.

En cours Re: lien image en bas du message

Message par Ea Mar 27 Mar 2012 - 19:44

Bonjour,


Sinon en fait il devrait y avoir moyen d'ajouter ce script qui fait fonctionner les boutons de façon logique :

Code:
if(!is_ie) {
  mozWrap = function(txtarea, open, close, content) {
    var t = $(txtarea), d = [t.prop("scrollLeft"), t.prop("scrollTop"), t.prop("selectionStart"), t.prop("selectionEnd")], a = open + (content || t.val().substring(d[2], d[3])) + close;
    t.val(t.val().substr(0, d[2]) + a + t.val().substr(d[3]));
    t.prop({scrollLeft:d[0], scrollTop:d[1], selectionStart:d[2] + (content ? a.length : open.length), selectionEnd:content ? d[2] + a.length : d[3] + open.length});
    return
  };
  bbstyle = function(bbnumber) {
    var txtarea = document.post.message;
    var button = document.getElementById("addbbcode" + bbnumber);
    if(bbnumber != -1) {
      var tag = document.getElementById("addbbcode" + bbnumber).tagName
    }
    donotinsert = false;
    theSelection = false;
    bblast = 0;
    if(bbnumber == -1) {
      while(bbcode[0]) {
        butnumber = arraypop(bbcode) - 1;
        txtarea.value += bbtags[butnumber + 1];
        var tag = document.getElementById("addbbcode" + butnumber).tagName;
        if(tag == "INPUT") {
          buttext = eval("document.post.addbbcode" + butnumber + ".value");
          eval("document.post.addbbcode" + butnumber + '.value ="' + buttext.substr(0, buttext.length - 1) + '"')
        }else {
          if(tag == "BUTTON" && document.getElementById("addbbcode" + butnumber)) {
            document.getElementById("addbbcode" + butnumber).className = "button2"
          }
        }
      }
      imageTag = false;
      txtarea.focus();
      return
    }
    if(txtarea.selectionEnd && txtarea.selectionEnd - txtarea.selectionStart > 0) {
      mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber + 1]);
      return
    }
    for(i = 0;i < bbcode.length;i++) {
      if(bbcode[i] == bbnumber + 1) {
        bblast = i;
        donotinsert = true
      }
    }
    if(donotinsert) {
      while(bbcode[bblast]) {
        butnumber = arraypop(bbcode) - 1;
        mozWrap(txtarea, bbtags[butnumber + 1], "");
        if(tag == "INPUT") {
          buttext = eval("document.post.addbbcode" + butnumber + ".value");
          eval("document.post.addbbcode" + butnumber + '.value ="' + buttext.substr(0, buttext.length - 1) + '"')
        }else {
          if(tag == "BUTTON" && document.getElementById("addbbcode" + bbnumber)) {
            button.className = "button2"
          }
        }
        imageTag = false
      }
      txtarea.focus();
      return
    }else {
      if(imageTag && bbnumber != 14) {
        txtarea.value += bbtags[15];
        lastValue = arraypop(bbcode) - 1;
        document.post.addbbcode14.value = "Img";
        imageTag = false
      }
      mozWrap(txtarea, bbtags[bbnumber], "");
      if(bbnumber == 14 && imageTag == false) {
        imageTag = 1
      }
      arraypush(bbcode, bbnumber + 1);
      if(tag == "INPUT") {
        eval("document.post.addbbcode" + bbnumber + '.value += "*"')
      }else {
        if(tag == "BUTTON" && document.getElementById("addbbcode" + bbnumber)) {
          button.className = "button2 bbcode"
        }
      }
      txtarea.focus();
      return
    }
    storeCaret(txtarea)
  };
  constructBBcode = function(bbcode, args, content) {
    var t = document.post.message, i = 0, tmp_args = "", tmp_content = "";
    if($.inArray(bbcode, ["flash", "img"]) || bbcode == "url" && $("#" + content).val()) {
      tmp_content += $("#" + content).val()
    }else {
      tmp_content += $("#" + args[0]).val()
    }
    if(bbcode == "flash") {
      if($("#" + args[0]).val() > 0 && $("#" + args[1]).val() > 0) {
        tmp_args += "(" + $("#" + args[0]).val() + "," + $("#" + args[1]).val() + ")"
      }
    }else {
      if(bbcode == "url" && $("#" + args[0]).val()) {
        tmp_args += "=";
        if($("#" + args[0]).val().indexOf("www.") == 0) {
          $("#" + args[0]).val("http://" + $("#" + args[0]).val())
        }
      }
      while(i < args.length) {
        tmp_args += $("#" + args[i]).val();
        $("#" + args[i]).val("");
        if(i != args.length - 1) {
          tmp_args += ","
        }
        i++
      }
    }
    mozWrap(t, "[" + bbcode + tmp_args + "]", "[/" + bbcode + "]", tmp_content);
    $("#content").val("")
  }
};
Il faut l'ajouter sur toutes les pages en suivant ce tutoriel.

Cela devrait les faire fonctionner comme vous souhaitez pour les autres navigateurs que IE et pour le mode non wysiwyg ( le mode wysiwyg fonctionne déjà comme cela, insérer les balises au niveau du curseur )

Ça ne marche pas sur IE car les sélections de texte fonctionnent différemment sur IE, et vu que je n'ai pas IE je ne sais pas tester et faire un script qui fonctionne avec. Si quelqu'un veut le faire fonctionner pour IE, il devrait suffire de modifier la fonction :

Code:

  mozWrap = function(txtarea, open, close, content) {
    var t = $(txtarea), d = [t.prop("scrollLeft"), t.prop("scrollTop"), t.prop("selectionStart"), t.prop("selectionEnd")], a = open + (content || t.val().substring(d[2], d[3])) + close;
    t.val(t.val().substr(0, d[2]) + a + t.val().substr(d[3]));
    t.prop({scrollLeft:d[0], scrollTop:d[1], selectionStart:d[2] + (content ? a.length : open.length), selectionEnd:content ? d[2] + a.length : d[3] + open.length});
    return
  };
Pour prendre en compte le cas de IE ( et évidemment retirer if(!is_ie) { et le } à la fin, pour que le script soit exécuté également pour IE ).

Cordialement.

ps : avec l'habitude, entrer les bbcodes à la mains va beaucoup plus vite ;]
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

En cours Re: lien image en bas du message

Message par greffiers Mar 27 Mar 2012 - 20:35

bonsoir,
merci de vos réponses , je vais essayer la première solution d'abord
cordialement
avatar

greffiers
Nouveau membre

Messages : 19
Inscrit(e) le : 27/03/2012

http://greffiersandco.forumgratuit.org
greffiers a été remercié(e) par l'auteur de ce sujet.

En cours Re: lien image en bas du message

Message par Chacha Mar 3 Avr 2012 - 11:36

lien image en bas du message 24-emp10Bonjour,

Nous n'avons plus de nouvelle de l'auteur de ce sujet depuis plus de 7 jours. Nous considérons donc ce problème comme résolu ou abandonné. La prochaine fois, merci de nous tenir au courant de l'évolution de votre problème, ou à faire un UP régulièrement ! Wink

Ce sujet est corbeillé, merci d'ouvrir un nouveau sujet si nécessaire, en respectant les Règles générales du forum.

A bientôt sur ForumActif Smile
Chacha

Chacha
Modéractif
Modéractif

Masculin
Messages : 69301
Inscrit(e) le : 21/08/2010

https://forum.forumactif.com/
Chacha a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum