lien image en bas du message

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

En cours lien image en bas du message

Message par greffiers le Mar 27 Mar - 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.

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 le Mar 27 Mar - 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
Adminactif
Adminactif

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

http://www.forumactif.com
Pinguino a été remercié(e) par l'auteur de ce sujet.

En cours Re: lien image en bas du message

Message par Ea le Mar 27 Mar - 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
Aidactif
Aidactif

Messages : 23428
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 le Mar 27 Mar - 20:35

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

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 le Mar 3 Avr - 11:36

Bonjour,

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


Règles Générales du Forum - Le Staff de ForumActif
Questions & Réponses Fréquentes - Trucs & Astuces
Outils Fondateurs - Perte de Mot de Passe

Chacha
Modéractif
Modéractif

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

http://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


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