Souci sur le script de préfixe de Ea

3 participants

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

Résolu Souci sur le script de préfixe de Ea

Message par Gae67 Mar 19 Aoû 2014 - 21:37

Bonsoir,

Je viens sur ce forum pour un souci sur le script de préfixe que j'ai demandé et qui a été réalisé par Ea.
Au départ j'ai eu ce code de préfixe avec possibilité d'éditer justement ce préfixe par ce script :

Code:
location.pathname=="/post"&&$(function(){
 
  var tags= {  4 : ["[En cours]"], 9 : ["[En cours] (Simple achat)","[En cours] (Multiples achats)"], 19 : ["[En cours] (Simple vente)","[En cours] (Multiples ventes)"], 29 : ["[En cours] (Simple estimation)","[En cours] (Multiples estimations)"], 12 : ["[En cours]","[Prévue]"], 31 : ["[Commentaires]","[Contenu]"], 5 : ["- SP","- Acte","- Tutoriel","- Raid","- Divers","- Nosmate","- Compagnon","- Equipement","- TS","- Nosmall","- Mini-Pays"] };
 
  var dont_add_space_if = /^[\s\[]/;
 
  var f=$('form[method="post"] input[name="f"]');if(f.length==0)return;tags=tags[f.val()];if(!tags)return;$("<select><option></option><option>"+tags.join("</option><option>")+"</option></select>").insertAfter('form[method="post"] input[name="subject"]').change(function(){var v=this.value,a=1,t=$(this).prev().val();if(t.indexOf(v)!=-1)a=0;$("option",this).each(function(){t=t.replace($(this).val(),"")});if(a)t=v+(dont_add_space_if.test(t)?"":" ")+
t;$(this).prev().val(t);this.selectedIndex=0;return false})
 
});
 
location.pathname=="/post"&&$(function(){
 
  var tags=["[En cours]","[Accepté]","[Essai]","[Refusé]","[Terminée]","[Terminée] (Simple achat)","[Terminée] (Multiples achats)","[Terminée] (Simple vente)","[Terminée] (Multiples ventes)","[Terminée] (Simple estimation)","[Terminée] (Multiples estimations)","[Commentaires]"];
 
  var dont_add_space_if=/^[\s\[]/;
 
  if($('form[method="post"] input[name="f"]').length)return;$("<select><option></option><option>"+tags.join("</option><option>")+"</option></select>").insertAfter('form[method="post"] input[name="modif_topic_title"]').change(function(){var v=this.value,a=1,t=$(this).prev().val();if(t.indexOf(v)!=-1)a=0;$("option",this).each(function(){t=t.replace($(this).val(),"")});if(a)t=v+(dont_add_space_if.test(t)?"":" ")+
t;$(this).prev().val(t);this.selectedIndex=0;return false})
 
});

Ce script a très bien marché mais certains de mes membres ne l'utilisaient pas du coup j'ai demandé à ce qu'il soit obligatoire de l'utiliser et voici le script que j'ai actuellement :

Code:
location.pathname == "/post" && $(function() {
 
    var tags = {
        4: ["[En cours]"],
        9: ["[En cours] (Simple achat)", "[En cours] (Multiples achats)"],
        19: ["[En cours] (Simple vente)", "[En cours] (Multiples ventes)"],
        29: ["[En cours] (Simple estimation)", "[En cours] (Multiples estimations)"],
        12: ["[En cours]", "[Prévue]"],
        31: ["[Commentaires]", "[Contenu]"],
        5: ["- SP", "- Acte", "- Tutoriel", "- Raid", "- Divers", "- Nosmate", "- Compagnon", "- Equipement", "- TS", "- Nosmall", "- Mini-Pays"]
    };
 
    var dont_add_space_if = /^[\s\[]/;
 
    var f = $('form[method="post"] input[name="f"]');
    if (f.length == 0) return;
    tags = tags[f.val()];
    if (!tags) return;
    var s = $("<select><option></option><option>" + tags.join("</option><option>") + "</option></select>").insertAfter('form[method="post"] input[name="subject"]').change(function() {
        var v = this.value,
            a = 1,
            t = $(this).prev().val();
        if (t.indexOf(v) != -1) a = 0;
        $("option", this).each(function() {
            t = t.replace($(this).val(), "")
        });
        if (a) t = v + (dont_add_space_if.test(t) ? "" : " ") +
            t;
        $(this).css('border', 'initial');
        $(this).prev().val(t);
        this.selectedIndex = 0;
        return false
    });
  
    s.closest('form').on('submit', function(){
        var v = $("input[name='subject']", this).val();
        for(var i= 0; i<tags.length; i++)
            if(v.indexOf(tags[i]) != -1)
                return true;
        alert("Il faut choisir un tag ;)");
        $("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
        s.css('border', '3px dashed red');
        return false;
    });
 
});

Malheureusement depuis que j'ai ce script il n'est plus possible de modifier le préfixe lorsqu'on édite le sujet...
J'aimerais donc qu'il soit possible de modifier le préfixe lorsqu'on édite le sujet tout en gardant l'obligation de l'utiliser lors de la création d'un nouveau post...

Merci d'avance !


Dernière édition par Gae67 le Sam 6 Sep 2014 - 12:16, édité 1 fois
Gae67

Gae67
*****

Masculin
Messages : 837
Inscrit(e) le : 23/03/2009

http://famille-r3d-dw4rf.com/
Gae67 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Souci sur le script de préfixe de Ea

Message par Ea Mar 19 Aoû 2014 - 21:50

Bonjour,


Dans le premier code il y a une partie pour la création de sujet :

Code:
location.pathname=="/post"&&$(function(){
 
  var tags= {  4 : ["[En cours]"], 9 : ["[En cours] (Simple achat)","[En cours] (Multiples achats)"], 19 : ["[En cours] (Simple vente)","[En cours] (Multiples ventes)"], 29 : ["[En cours] (Simple estimation)","[En cours] (Multiples estimations)"], 12 : ["[En cours]","[Prévue]"], 31 : ["[Commentaires]","[Contenu]"], 5 : ["- SP","- Acte","- Tutoriel","- Raid","- Divers","- Nosmate","- Compagnon","- Equipement","- TS","- Nosmall","- Mini-Pays"] };
 
  var dont_add_space_if = /^[\s\[]/;
 
  var f=$('form[method="post"] input[name="f"]');if(f.length==0)return;tags=tags[f.val()];if(!tags)return;$("<select><option></option><option>"+tags.join("</option><option>")+"</option></select>").insertAfter('form[method="post"] input[name="subject"]').change(function(){var v=this.value,a=1,t=$(this).prev().val();if(t.indexOf(v)!=-1)a=0;$("option",this).each(function(){t=t.replace($(this).val(),"")});if(a)t=v+(dont_add_space_if.test(t)?"":" ")+
t;$(this).prev().val(t);this.selectedIndex=0;return false})
 
});

et une partie pour l'édition de message :

Code:
location.pathname=="/post"&&$(function(){
 
  var tags=["[En cours]","[Accepté]","[Essai]","[Refusé]","[Terminée]","[Terminée] (Simple achat)","[Terminée] (Multiples achats)","[Terminée] (Simple vente)","[Terminée] (Multiples ventes)","[Terminée] (Simple estimation)","[Terminée] (Multiples estimations)","[Commentaires]"];
 
  var dont_add_space_if=/^[\s\[]/;
 
  if($('form[method="post"] input[name="f"]').length)return;$("<select><option></option><option>"+tags.join("</option><option>")+"</option></select>").insertAfter('form[method="post"] input[name="modif_topic_title"]').change(function(){var v=this.value,a=1,t=$(this).prev().val();if(t.indexOf(v)!=-1)a=0;$("option",this).each(function(){t=t.replace($(this).val(),"")});if(a)t=v+(dont_add_space_if.test(t)?"":" ")+
t;$(this).prev().val(t);this.selectedIndex=0;return false})
 
});

dans le deuxième script il n'y a que la partie pour la création de sujet.

Il faut donc ajouter la partie pour l'édition.
Ea

Ea
Aidactif
Aidactif

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

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

Résolu Re: Souci sur le script de préfixe de Ea

Message par Gae67 Mar 19 Aoû 2014 - 22:26

Je viens d'ajouter la partie pour l'édition de message dans le deuxième script et effectivement cela ne marche pas...
J'ai bien essayé justement avant que poster un nouveau sujet.
Gae67

Gae67
*****

Masculin
Messages : 837
Inscrit(e) le : 23/03/2009

http://famille-r3d-dw4rf.com/
Gae67 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Souci sur le script de préfixe de Ea

Message par Gae67 Jeu 21 Aoû 2014 - 18:30

up
Gae67

Gae67
*****

Masculin
Messages : 837
Inscrit(e) le : 23/03/2009

http://famille-r3d-dw4rf.com/
Gae67 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Souci sur le script de préfixe de Ea

Message par Gae67 Lun 25 Aoû 2014 - 23:17

UP
Gae67

Gae67
*****

Masculin
Messages : 837
Inscrit(e) le : 23/03/2009

http://famille-r3d-dw4rf.com/
Gae67 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Souci sur le script de préfixe de Ea

Message par Chacha Mar 2 Sep 2014 - 11:05

.Souci sur le script de préfixe de Ea U10bBxG.Bonjour,

Attention, cela fait 8 jours que nous n'avons pas de nouvelles concernant votre demande, si vous ne voulez pas voir délester votre sujet, merci de poster dans les 24h qui suivent ce message.

Si votre sujet est résolu, dans ce cas, :editer: votre premier message et cochez l'icône résolu

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.

Résolu Re: Souci sur le script de préfixe de Ea

Message par Gae67 Mar 2 Sep 2014 - 13:21

UP
Gae67

Gae67
*****

Masculin
Messages : 837
Inscrit(e) le : 23/03/2009

http://famille-r3d-dw4rf.com/
Gae67 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Souci sur le script de préfixe de Ea

Message par Ea Ven 5 Sep 2014 - 22:11

Si je l'exécute sur ce forum-ci ça marche : https://i.imgur.com/KvXmdis.png

Et j'imagine qu'il marchait les fois précédente où il était sur votre forum.

Donc je ne vois pas comment il serait possible qu'il ne fonctionne plus maintenant Souci sur le script de préfixe de Ea NpVVBBJ

Cordialement.
Ea

Ea
Aidactif
Aidactif

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

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

Résolu Re: Souci sur le script de préfixe de Ea

Message par Gae67 Ven 5 Sep 2014 - 23:11

Voici le code que j'ai actuellement, quand vous me dites d'ajouter la partie de l'édition :

Code:
location.pathname == "/post" && $(function() {
 
    var tags = {
        4: ["[En cours]"],
        9: ["[En cours] (Simple achat)", "[En cours] (Multiples achats)"],
        19: ["[En cours] (Simple vente)", "[En cours] (Multiples ventes)"],
        29: ["[En cours] (Simple estimation)", "[En cours] (Multiples estimations)"],
        12: ["[En cours]", "[Prévue]"],
        31: ["[Commentaires]", "[Contenu]"],
        5: ["- SP", "- Acte", "- Tutoriel", "- Raid", "- Divers", "- Nosmate", "- Compagnon", "- Equipement", "- TS", "- Nosmall", "- Mini-Pays"]
    };
 
    var dont_add_space_if = /^[\s\[]/;
 
    var f = $('form[method="post"] input[name="f"]');
    if (f.length == 0) return;
    tags = tags[f.val()];
    if (!tags) return;
    var s = $("<select><option></option><option>" + tags.join("</option><option>") + "</option></select>").insertAfter('form[method="post"] input[name="subject"]').change(function() {
        var v = this.value,
            a = 1,
            t = $(this).prev().val();
        if (t.indexOf(v) != -1) a = 0;
        $("option", this).each(function() {
            t = t.replace($(this).val(), "")
        });
        if (a) t = v + (dont_add_space_if.test(t) ? "" : " ") +
            t;
        $(this).css('border', 'initial');
        $(this).prev().val(t);
        this.selectedIndex = 0;
        return false
    });
  
    s.closest('form').on('submit', function(){
        var v = $("input[name='subject']", this).val();
        for(var i= 0; i<tags.length; i++)
            if(v.indexOf(tags[i]) != -1)
                return true;
        alert("Il faut choisir un préfixe/tag en début de sujet avant de pouvoir poster ;)");
        $("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
        s.css('border', '3px dashed red');
        return false;
    });

location.pathname=="/post"&&$(function(){
 
  var tags=["[En cours]","[Accepté]","[Essai]","[Refusé]","[Terminée]","[Terminée] (Simple achat)","[Terminée] (Multiples achats)","[Terminée] (Simple vente)","[Terminée] (Multiples ventes)","[Terminée] (Simple estimation)","[Terminée] (Multiples estimations)","[Commentaires]"];
 
  var dont_add_space_if=/^[\s\[]/;
 
  if($('form[method="post"] input[name="f"]').length)return;$("<select><option></option><option>"+tags.join("</option><option>")+"</option></select>").insertAfter('form[method="post"] input[name="modif_topic_title"]').change(function(){var v=this.value,a=1,t=$(this).prev().val();if(t.indexOf(v)!=-1)a=0;$("option",this).each(function(){t=t.replace($(this).val(),"")});if(a)t=v+(dont_add_space_if.test(t)?"":" ")+
t;$(this).prev().val(t);this.selectedIndex=0;return false})
 
});

 
});

Cordialement.
Gae67

Gae67
*****

Masculin
Messages : 837
Inscrit(e) le : 23/03/2009

http://famille-r3d-dw4rf.com/
Gae67 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Souci sur le script de préfixe de Ea

Message par Ea Ven 5 Sep 2014 - 23:21

Il ne faut pas les imbriquer, mais soit les mettres chacun sur une page de script, soit les mettre à la suite l'un de l'autre :

Code:
location.pathname == "/post" && $(function() {

    var tags = {
        4: ["[En cours]"],
        9: ["[En cours] (Simple achat)", "[En cours] (Multiples achats)"],
        19: ["[En cours] (Simple vente)", "[En cours] (Multiples ventes)"],
        29: ["[En cours] (Simple estimation)", "[En cours] (Multiples estimations)"],
        12: ["[En cours]", "[Prévue]"],
        31: ["[Commentaires]", "[Contenu]"],
        5: ["- SP", "- Acte", "- Tutoriel", "- Raid", "- Divers", "- Nosmate", "- Compagnon", "- Equipement", "- TS", "- Nosmall", "- Mini-Pays"]
    };

    var dont_add_space_if = /^[\s\[]/;

    var f = $('form[method="post"] input[name="f"]');
    if (f.length == 0) return;
    tags = tags[f.val()];
    if (!tags) return;
    var s = $("<select><option></option><option>" + tags.join("</option><option>") + "</option></select>").insertAfter('form[method="post"] input[name="subject"]').change(function() {
        var v = this.value,
            a = 1,
            t = $(this).prev().val();
        if (t.indexOf(v) != -1) a = 0;
        $("option", this).each(function() {
            t = t.replace($(this).val(), "")
        });
        if (a) t = v + (dont_add_space_if.test(t) ? "" : " ") +
            t;
        $(this).css('border', 'initial');
        $(this).prev().val(t);
        this.selectedIndex = 0;
        return false
    });

    s.closest('form').on('submit', function() {
        var v = $("input[name='subject']", this).val();
        for (var i = 0; i < tags.length; i++)
            if (v.indexOf(tags[i]) != -1)
                return true;
        alert("Il faut choisir un préfixe/tag en début de sujet avant de pouvoir poster ;)");
        $("html, body").animate({
            scrollTop: s.offset().top - $(window).height() / 2
        }, '500', 'swing');
        s.css('border', '3px dashed red');
        return false;
    });


});


location.pathname == "/post" && $(function() {

    var tags = ["[En cours]", "[Accepté]", "[Essai]", "[Refusé]", "[Terminée]", "[Terminée] (Simple achat)", "[Terminée] (Multiples achats)", "[Terminée] (Simple vente)", "[Terminée] (Multiples ventes)", "[Terminée] (Simple estimation)", "[Terminée] (Multiples estimations)", "[Commentaires]"];

    var dont_add_space_if = /^[\s\[]/;

    if ($('form[method="post"] input[name="f"]').length) return;
    $("<select><option></option><option>" + tags.join("</option><option>") + "</option></select>").insertAfter('form[method="post"] input[name="modif_topic_title"]').change(function() {
        var v = this.value,
            a = 1,
            t = $(this).prev().val();
        if (t.indexOf(v) != -1) a = 0;
        $("option", this).each(function() {
            t = t.replace($(this).val(), "")
        });
        if (a) t = v + (dont_add_space_if.test(t) ? "" : " ") +
            t;
        $(this).prev().val(t);
        this.selectedIndex = 0;
        return false
    })

});

en le mettant au milieu de l'autre script, ceci dans l'autre script :

Code:

    var f = $('form[method="post"] input[name="f"]');
    if (f.length == 0) return;

va, si on est pas sur une page de nouveau sujet, annuler la totalité du reste du code de la fonction ( le return termine la fonction sans faire la suite )

donc dans le cas d'une édition le script ( différent de création de nouveau sujet ) on sort de la fonction à cet endroit et le script pour l'édition n'est jamais exécuté.

Cordialement.
Ea

Ea
Aidactif
Aidactif

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

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

Résolu Re: Souci sur le script de préfixe de Ea

Message par Gae67 Sam 6 Sep 2014 - 12:16

Merci beaucoup pour cette précieuse aide.

Dans votre explication je n'ai pas très bien compris (vous m'excuserez mais je suis d'une nullité dans les codes javascript que avec moi ca fait deux  Very Happy)  mais l'essentiel c'est que ca marche et je vous remercie une fois de plus.

Cordialement.
Gae67

Gae67
*****

Masculin
Messages : 837
Inscrit(e) le : 23/03/2009

http://famille-r3d-dw4rf.com/
Gae67 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