Éditer le titre depuis la liste des sujets
+2
Foufouw'
Zeste
6 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 2 sur 2 • Partagez
Page 2 sur 2 • 1, 2
Éditer le titre depuis la liste des sujets
Rappel du premier message :
Bonjour à tous,
Dans le même ordre d’idée mon précédent topic : outils de modération depuis la liste des sujets, j’aimerais maintenant apprendre à créer le script qui me permettra, si possible, de modifier le titre d’un sujet directement depuis la liste des sujets.
Donc dans l’idéal, j’aimerais avoir un nouveau bouton à côté de ces boutons (pas très visibles car leur opacité a été réduite) :
Sur lequel je clique pour faire apparaître à la place du titre existant une zone de texte, où je pourrai effectuer une modification :
Avec éventuellement un petit bouton juste à droite de la zone de saisie pour valider la modification. Un peu à l’image des champs modifiables depuis le profil, au final…
Voilà à peu près ce que j’aimerais réaliser afin de fignoler la personnalisation de cette liste de sujets. Merci à tous ceux qui prendront le temps de lire ce message et surtout à ceux qui se pencheront sur le sujet
Bonjour à tous,
Dans le même ordre d’idée mon précédent topic : outils de modération depuis la liste des sujets, j’aimerais maintenant apprendre à créer le script qui me permettra, si possible, de modifier le titre d’un sujet directement depuis la liste des sujets.
Donc dans l’idéal, j’aimerais avoir un nouveau bouton à côté de ces boutons (pas très visibles car leur opacité a été réduite) :
Sur lequel je clique pour faire apparaître à la place du titre existant une zone de texte, où je pourrai effectuer une modification :
Avec éventuellement un petit bouton juste à droite de la zone de saisie pour valider la modification. Un peu à l’image des champs modifiables depuis le profil, au final…
Voilà à peu près ce que j’aimerais réaliser afin de fignoler la personnalisation de cette liste de sujets. Merci à tous ceux qui prendront le temps de lire ce message et surtout à ceux qui se pencheront sur le sujet
Dernière édition par Matriochka le Dim 3 Mar 2013 - 10:55, édité 1 fois
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Ah, merci Arlem
J’ai repris tout ça de A à Z et maintenant, tout fonctionne au poil chez moi. Nickel !
Pour le petit temps d’attente, il y a moyen qu’il n’y soit plus, ou bien on est obligés de faire ainsi ? Si ça n’est pas possible, ça n’est pas un problème du tout, je chipote juste un peu pour t’ennuyer, huhu
J’ai repris tout ça de A à Z et maintenant, tout fonctionne au poil chez moi. Nickel !
Pour le petit temps d’attente, il y a moyen qu’il n’y soit plus, ou bien on est obligés de faire ainsi ? Si ça n’est pas possible, ça n’est pas un problème du tout, je chipote juste un peu pour t’ennuyer, huhu
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Le temps d'attente à lieu ici car il faut que les différentes requêtes (envoi, vérification que l'envoi à réussi..) s’exécutent. On peut le faire sans temps de latence mais à ce moment là il sera modifié même si l'envoi a échoué.
Avec ce script, l'actualisation est instantanée et on ajoute un petit "check" quand l'envoi est réussi, ça permet de faire un compromis entre les deux (je colle le code à coller après les variables des images etc. que tu n'aies pas à modifier à nouveau tous les liens) :
Avec ce script, l'actualisation est instantanée et on ajoute un petit "check" quand l'envoi est réussi, ça permet de faire un compromis entre les deux (je colle le code à coller après les variables des images etc. que tu n'aies pas à modifier à nouveau tous les liens) :
- Code:
$(function() {
/* Si l'utilisateur a les droits de modération, on affiche les outils de modération */
if($('#is_allowed:contains("modérer")').length > 0) {
$('.mod_tools').each(function() {
/* Si le topic est verrouillé on affiche le bouton déverrouiller */
if($(this).children('img').attr('alt').slice(13,19) == "verrou") {
$(this).append('<img src="'+edit_img+'" class="edit_topic"><img src="'+unlock_img+'" class="mod_unlock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
/* Sinon on affiche le bouton verrouiller */ else {
$(this).append('<img src="'+edit_img+'" class="edit_topic"><img src="'+lock_img+'" class="mod_lock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
}
);
}
/* Clic sur le bouton déverrouiller */
$('.mod_unlock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=unlock&sid='+cookie);
$(this).addClass('mod_lock').removeClass('mod_unlock');
$(this).attr('src',lock_img);
}
}
);
/* Clic sur le bouton verrouiller */
$('.mod_lock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=lock&sid='+cookie);
$(this).addClass('mod_unlock').removeClass('mod_lock');
$(this).attr('src',unlock_img);
}
}
);
/* Clic sur le bouton corbeille */
$('.mod_trash').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=trash&sid='+cookie);
$(this).closest('tr').remove();
}
}
);
/* Clic sur le bouton supprimer */
$('.mod_delete').click(function() {
if (confirm("Êtes-vous sûr ?")) {
// prendre le tid
var tid= $("input[name=tid]:first").val() || ($("a[href*='&tid=']:first").attr("href")||"").replace(/^.*&tid=([a-f0-9]*)?.*$/,"$1");
// prendre le fid
var fid= location.href.replace(/^.*\/f([0-9]+)[p-].*$/,'$1');
// prendre le topic_id
var topic_id= $(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1');
$.post("/modcp?tid="+tid, {
f:fid, t:topic_id, tid: tid, mode:"delete",confirm:"1"
}
);
$(this).closest('tr').remove();
}
}
);
/* Clic sur le bouton edit */
$('.edit_topic').click(function() {
$(this).closest('tr').find('a.topictitle').hide().after('<input type="text" id="new_title" value="'+$(this).closest('tr').find('a.topictitle').text()+'"/><input type="submit" class="edit_title"/>');
}
);
$('.edit_title').live('click', function() {
var temp = $(this);
temp.closest('tr').find('a.topictitle').show().text($('#new_title').val());
temp.parent().find('#new_title').hide();
temp.parent().find('.edit_title').hide();
/* saisie d'une page du sujet */
$.get($(this).closest('tr').find('a.topictitle').attr('href'), function(c) {
/* prendre identifiant du premier message */
var first_post_id = $(".post a[name]", c).first().attr("name");
/* si pas on fait rien */
if(!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function(c) {
/* envoi de ce formulaire en ayant changé le titre */
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent($('#new_title').val()) + "$2") + "&post=1",function(c) {
/* test pour voir si ça s'est bien passé */
if(c.indexOf('Message enregistré avec succès')!=-1) {
temp.after('<img src="http://nsa31.casimages.com/img/2013/02/10/130210020722226189.png" alt="sent"/>');
}
}
)
}
)
});
});
});
Arlem- Membre actif
- Messages : 2550
Inscrit(e) le : 30/06/2009
Re: Éditer le titre depuis la liste des sujets
Ah, c’est parfait, je te remercie ! Vraiment nickel, Arlem
Alors, juste un dernier petit truc avec ce bout de script : du coup, quand j’édite deux fois coup sur coup sans actualiser, la petite icône de check s’affiche deux fois à la suite. Est-ce qu’il y a moyen de remédier à ça ou non ?
Alors, juste un dernier petit truc avec ce bout de script : du coup, quand j’édite deux fois coup sur coup sans actualiser, la petite icône de check s’affiche deux fois à la suite. Est-ce qu’il y a moyen de remédier à ça ou non ?
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Salut, je vais faire mon gros flemmard mais pourriez vous poster le script complet ainsi que quelques explications (Ou même actualiser le post d'Arlem sur l'autre topic) ?
Merci d'avance. *Le Mec d'une Grande Aide*...
Merci d'avance. *Le Mec d'une Grande Aide*...
Re: Éditer le titre depuis la liste des sujets
C’est un peu malvenu de se ramener comme ça en demandant un code complet alors que tout est donné sur la page précédente…
Tiens, Arlem a posté un version "flemmard" ici :
https://forum.forumactif.com/t345178-editer-le-titre-depuis-la-liste-des-sujets#2952488
Si ça ne te convient pas, tu peux faire comme Xoumi et moi-même :faire un effort pour reprendre chaque message du sujet
Tiens, Arlem a posté un version "flemmard" ici :
https://forum.forumactif.com/t345178-editer-le-titre-depuis-la-liste-des-sujets#2952488
Si ça ne te convient pas, tu peux faire comme Xoumi et moi-même :faire un effort pour reprendre chaque message du sujet
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
C'est ce que j'étais en train de faire au final. mais merci quand même et désolé ._.
Re: Éditer le titre depuis la liste des sujets
Yep ça doit être faisable, tu voudrais faire quoi, qu'il disparaisse un court temps puis réapparaisse quand il est envoyé à nouveau ?
Arlem- Membre actif
- Messages : 2550
Inscrit(e) le : 30/06/2009
Re: Éditer le titre depuis la liste des sujets
Oui voilà, ce serait pas mal cette alternative
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Hello les amis,
Tout d'abord, merci Arlem pour les modifications que tu as apporté. Le script fonctionne à 90% chez moi ! J'ai découvert un bogue en appliquant le script sur mon forum : un problème d'encodage.
Mon forum (cf. mon profil) a été créé en 2005 avec un charset windows-1252. Quand je valide l'édition d'un titre qui contient des accents, le titre et le premier message du sujet à un problème d'encodage. Les accents deviennent des @"*/, etc. Je n'ai pas ce problème sur mon forum de test qui a un charset UTF8.
Du coup, j'ai suspendu l'édition des titres car j'ai bousillé deux sujets comme ça que je dois entièrement reprendre à la main Je ne sais pas si une solution existe
Bref, je préviens au cas où du problème !
Bonne soirée.
Xoum'
Tout d'abord, merci Arlem pour les modifications que tu as apporté. Le script fonctionne à 90% chez moi ! J'ai découvert un bogue en appliquant le script sur mon forum : un problème d'encodage.
Mon forum (cf. mon profil) a été créé en 2005 avec un charset windows-1252. Quand je valide l'édition d'un titre qui contient des accents, le titre et le premier message du sujet à un problème d'encodage. Les accents deviennent des @"*/, etc. Je n'ai pas ce problème sur mon forum de test qui a un charset UTF8.
Du coup, j'ai suspendu l'édition des titres car j'ai bousillé deux sujets comme ça que je dois entièrement reprendre à la main Je ne sais pas si une solution existe
Bref, je préviens au cas où du problème !
Bonne soirée.
Xoum'
Bipo- Rédactif
- Messages : 3902
Inscrit(e) le : 23/09/2010
Re: Éditer le titre depuis la liste des sujets
après moult essais, pour un forum non-utf8 ça semble fonctionner en mettant plutôt que :
- Code:
/* envoi de ce formulaire en ayant changé le titre */
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent('nouveau titre') + "$2") + "&post=1",function(c){
- Code:
/* récupération du formulaire */
var fields= $('form[name="post"]', c).serializeArray();
for(i=0;i<fields.length;i++)
{
/* changement du titre */
if(fields[i].name=="subject") fields[i].value= 'nouveau titre éééé \\o/';
fields[i]=escape(fields[i].name)+'='+escape(fields[i].value)
}
/* envoi formulaire d'édition */
$.post("/post", fields.join('&')+"&post=1",function(c){
- Code:
iconv -t cp1252 -f utf-8 fichier_bad.txt > resultat.txt
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Éditer le titre depuis la liste des sujets
Je remonte un petit peu
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Je remonte à nouveau
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Hop, je remonte encore
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Je remonte (hé oui, je suis tenace).
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
Quel est le script et qu'est-ce qu'il devrait faire plutôt que ce qu'il fait ?
Cordialement.
Cordialement.
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Éditer le titre depuis la liste des sujets
Ea a écrit:après moult essais, pour un forum non-utf8 ça semble fonctionner en mettant plutôt que :ceci :
- Code:
/* envoi de ce formulaire en ayant changé le titre */
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent('nouveau titre') + "$2") + "&post=1",function(c){quand on utilise le script précédent, il me semble qu'on a les données qui sont encodées de windows-1252 à utf-8, donc sous linux il devrait suffire de faire :
- Code:
/* récupération du formulaire */
var fields= $('form[name="post"]', c).serializeArray();
for(i=0;i<fields.length;i++)
{
/* changement du titre */
if(fields[i].name=="subject") fields[i].value= 'nouveau titre éééé \\o/';
fields[i]=escape(fields[i].name)+'='+escape(fields[i].value)
}
/* envoi formulaire d'édition */
$.post("/post", fields.join('&')+"&post=1",function(c){edit : et si pas linux, cette page le fait et affiche le résultat
- Code:
iconv -t cp1252 -f utf-8 fichier_bad.txt > resultat.txt
Salut Ea,
Alors, je viens d'effectuer la correction et la fonction principale du script fonctionne. Cependant, quand le titre est modifié après avoir cliqué sur "envoyer" ► en actualisant la page, on a "Nouveau titre éééééé" ... Je suppose que la machine est enrayée non ?
Xoum'.
Sinon, Matriochka posait cette question :
Matriochka a écrit:Ah, c’est parfait, je te remercie ! Vraiment nickel, Arlem
Alors, juste un dernier petit truc avec ce bout de script : du coup, quand j’édite deux fois coup sur coup sans actualiser, la petite icône de check s’affiche deux fois à la suite. Est-ce qu’il y a moyen de remédier à ça ou non ?
Bipo- Rédactif
- Messages : 3902
Inscrit(e) le : 23/09/2010
Re: Éditer le titre depuis la liste des sujets
Oui voilà, merci Xoumi
Le script au cas où :
Le script au cas où :
- Code:
/* adresse img modération lock */
var lock_img = "http://img11.hostingpics.net/pics/689379lock.png";
/* adresse img modération unlock */
var unlock_img = "http://img11.hostingpics.net/pics/269944lockunlock.png";
/* adresse img modération corbeille */
var trash_img = "http://img11.hostingpics.net/pics/781353bin.png";
/* adresse img modération supprimer */
var delete_img = "http://img11.hostingpics.net/pics/204355cross.png";
/* adresse img modération edit */
var edit_img= "http://img11.hostingpics.net/pics/630345documentpencil.png";
/* adresse cookie contenant le sid (ne pas éditer) */
var cookie = my_getcookie('fa_nara_jdrforum_com_sid'+location.hostname.replace(/\./g,'_')+'_sid');
$(function() {
/* Si l'utilisateur a les droits de modération, on affiche les outils de modération */
if($('#is_allowed:contains("modérer")').length > 0) {
$('.mod_tools').each(function() {
/* Si le topic est verrouillé on affiche le bouton déverrouiller */
if($(this).children('img').attr('alt').slice(13,19) == "verrou") {
$(this).append('<img src="'+edit_img+'" class="edit_topic"><img src="'+unlock_img+'" class="mod_unlock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
/* Sinon on affiche le bouton verrouiller */ else {
$(this).append('<img src="'+edit_img+'" class="edit_topic"><img src="'+lock_img+'" class="mod_lock"/><img src="'+trash_img+'" class="mod_trash"/><img src="'+delete_img+'" class="mod_delete"/>');
}
}
);
}
/* Clic sur le bouton déverrouiller */
$('.mod_unlock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=unlock&sid='+cookie);
$(this).addClass('mod_lock').removeClass('mod_unlock');
$(this).attr('src',lock_img);
}
}
);
/* Clic sur le bouton verrouiller */
$('.mod_lock').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=lock&sid='+cookie);
$(this).addClass('mod_unlock').removeClass('mod_lock');
$(this).attr('src',unlock_img);
}
}
);
/* Clic sur le bouton corbeille */
$('.mod_trash').click(function() {
if (confirm("Êtes-vous sûr ?")) {
$.get('/modcp.forum?t='+$(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1')+'&mode=trash&sid='+cookie);
$(this).closest('tr').remove();
}
}
);
/* Clic sur le bouton supprimer */
$('.mod_delete').click(function() {
if (confirm("Êtes-vous sûr ?")) {
// prendre le tid
var tid= $("input[name=tid]:first").val() || ($("a[href*='&tid=']:first").attr("href")||"").replace(/^.*&tid=([a-f0-9]*)?.*$/,"$1");
// prendre le fid
var fid= location.href.replace(/^.*\/f([0-9]+)[p-].*$/,'$1');
// prendre le topic_id
var topic_id= $(this).closest('tr').find('a.topictitle').attr('href').replace(/^\/t([1-9][0-9]*)[p-].*$/,'$1');
$.post("/modcp?tid="+tid, {
f:fid, t:topic_id, tid: tid, mode:"delete",confirm:"1"
}
);
$(this).closest('tr').remove();
}
}
);
/* Clic sur le bouton edit */
$('.edit_topic').click(function() {
$(this).closest('tr').find('a.topictitle').hide().after('<input type="text" id="new_title" value="'+$(this).closest('tr').find('a.topictitle').text()+'"/><input type="submit" class="edit_title"/>');
}
);
$('.edit_title').live('click', function() {
var temp = $(this);
temp.closest('tr').find('a.topictitle').show().text($('#new_title').val());
temp.parent().find('#new_title').hide();
temp.parent().find('.edit_title').hide();
/* saisie d'une page du sujet */
$.get($(this).closest('tr').find('a.topictitle').attr('href'), function(c) {
/* prendre identifiant du premier message */
var first_post_id = $(".post a[name]", c).first().attr("name");
/* si pas on fait rien */
if(!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function(c) {
/* envoi de ce formulaire en ayant changé le titre */
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent($('#new_title').val()) + "$2") + "&post=1",function(c) {
/* test pour voir si ça s'est bien passé */
if(c.indexOf('Message enregistré avec succès')!=-1) {
temp.after('<img src="http://nsa31.casimages.com/img/2013/02/10/130210020722226189.png" alt="sent"/>');
}
}
)
}
)
});
});
});
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
@xoumi : dans le code que je dis de remplacer, le titre était remplacé par "nouveau titre"
enfin il faut insérer le bout de code dans le code qui permet de choisir le nouveau titre, ça différera suivant la façon d'indiquer un nouveau titre, par exemple on pourrait remplacer 'nouveau titre éééé \\o/' par :
@macema : on pourrait retirer le V ou mettre quelque chose comme ça :
enfin il faut insérer le bout de code dans le code qui permet de choisir le nouveau titre, ça différera suivant la façon d'indiquer un nouveau titre, par exemple on pourrait remplacer 'nouveau titre éééé \\o/' par :
- Code:
prompt("Nouveau titre : ",fields[i].value)
@macema : on pourrait retirer le V ou mettre quelque chose comme ça :
- Code:
/* Clic sur le bouton edit */
$('.edit_topic').click(function() {
$(this).closest('tr').find('.title_edited').remove()
if($(this).closest('tr').find('a.topictitle').is(":visible")) {
$(this).closest('tr').find('a.topictitle').hide();
if($(this).closest('tr').find('#new_title').length) {
$(this).closest('tr').find('#new_title,.edit_title').show()
}
else {
$(this).closest('tr').find('a.topictitle').after('<input type="text" id="new_title" value="'+$(this).closest('tr').find('a.topictitle').text()+'"/><input type="button" value="Renommer" class="edit_title"/>');
}
}
else {
$(this).closest('tr').find('a.topictitle').show();
$(this).closest('tr').find('#new_title,.edit_title').hide()
}
}
);
$('.edit_title').live('click', function() {
var temp = $(this);
temp.closest('tr').find('a.topictitle').show().text($('#new_title').val());
temp.parent().find('#new_title').hide();
temp.parent().find('.edit_title').hide();
temp.parent().find('.title_edited').remove()
/* saisie d'une page du sujet */
$.get($(this).closest('tr').find('a.topictitle').attr('href'), function(c) {
/* prendre identifiant du premier message */
var first_post_id = $(".post a[name]", c).first().attr("name");
/* si pas on fait rien */
if(!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function(c) {
/* envoi de ce formulaire en ayant changé le titre */
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent(temp.parent().find('#new_title').val()) + "$2") + "&post=1",function(c) {
temp.parent().find('.title_edited').remove()
/* test pour voir si ça s'est bien passé */
if(c.indexOf('Message enregistré avec succès')!=-1) {
temp.after('<img src="http://nsa31.casimages.com/img/2013/02/10/130210020722226189.png" alt="sent" class="title_edited" />');
}
else {
temp.after('<span class="title_edited">[erreur]</span>');
}
}
)
}
)
});
- Code:
/* Clic sur le bouton edit */
$('.edit_topic').click(function() {
$(this).closest('tr').find('a.topictitle').hide().after('<input type="text" id="new_title" value="'+$(this).closest('tr').find('a.topictitle').text()+'"/><input type="submit" class="edit_title"/>');
}
);
$('.edit_title').live('click', function() {
var temp = $(this);
temp.closest('tr').find('a.topictitle').show().text($('#new_title').val());
temp.parent().find('#new_title').hide();
temp.parent().find('.edit_title').hide();
/* saisie d'une page du sujet */
$.get($(this).closest('tr').find('a.topictitle').attr('href'), function(c) {
/* prendre identifiant du premier message */
var first_post_id = $(".post a[name]", c).first().attr("name");
/* si pas on fait rien */
if(!first_post_id) {
return
}
/* saisie du formulaire d'édition du message */
$.get("/post?p=" + first_post_id + "&mode=editpost", function(c) {
/* envoi de ce formulaire en ayant changé le titre */
$.post("/post", $('form[name="post"]', c).serialize().replace(/(^|&)subject=[^&]+(&|$)/, "$1subject=" + encodeURIComponent($('#new_title').val()) + "$2") + "&post=1",function(c) {
/* test pour voir si ça s'est bien passé */
if(c.indexOf('Message enregistré avec succès')!=-1) {
temp.after('<img src="http://nsa31.casimages.com/img/2013/02/10/130210020722226189.png" alt="sent"/>');
}
}
)
}
)
});
Ea- Aidactif
- Messages : 23583
Inscrit(e) le : 04/04/2008
Re: Éditer le titre depuis la liste des sujets
Moi c’est Matriochka@macema :
Merci beaucoup, c’est résolu pour moi.
Je laisse ouvert pour Xoumi, et je passerai l’icône dès que ce sera bon pour lui aussi.
edit ea : j'ai le ma de bon
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Re: Éditer le titre depuis la liste des sujets
C'est bon pour moi aussi Matriochka !
Bipo- Rédactif
- Messages : 3902
Inscrit(e) le : 23/09/2010
Re: Éditer le titre depuis la liste des sujets
Parfait Dans ce cas, je clôture le sujet.
Merci à ceux qui ont pris la peine de nous aider
Merci à ceux qui ont pris la peine de nous aider
Matriochka- Membre actif
- Messages : 7604
Inscrit(e) le : 14/07/2010
Page 2 sur 2 • 1, 2
Sujets similaires
» Décalage entre l' en-tête et les colonnes ( liste des annonces et liste des sujets )
» Outils de modération depuis la liste des sujets
» Edition des icônes depuis la liste des sujets
» Outils de modération depuis la liste des sujets pour forum phpBB3
» couleur titre forum dans la liste des sujets
» Outils de modération depuis la liste des sujets
» Edition des icônes depuis la liste des sujets
» Outils de modération depuis la liste des sujets pour forum phpBB3
» couleur titre forum dans la liste des sujets
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum