Revenir au formulaire lors édition
4 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 1 sur 2 • Partagez
Page 1 sur 2 • 1, 2
Revenir au formulaire lors édition
Détails techniques
Version du forum : phpBB2Poste occupé : Fondateur
Description du problème
Bonjour ! ^0^J'ai créé un formulaire qui poste un message sur un forum, et j'aimerais que lors de l'édition de ce message, l'utilisateur puisse revenir au formulaire pour le faire.
Est-ce possible ? Et si oui, comment ?
- (codes modifiés, voir la maj plus bas dans le sujet) :
- La page html avec le formulaire qui me sert de test :
- Code:
<!DOCTYPE html>
<html lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
</style>
<script type="text/javascript">
function envoiMessage(form) {
// titre du sujet
form.subject.value = "subject";
// Message est une chaîne de caractères vide :
var text_message = "";
// Remplir message à partir des informations fournies
text_message = text_message + "<div id='formresult'>\n<div class='titre'>" + form.titre.value + "</div><div class='contenu'>" + form.contenu.value + "</div>\n</div>";
// Insère le texte construit dans le champ caché "message" du formulaire
form.message.value = text_message;
}
</script>
</head>
<body>
<form action="/posting.forum" method="post" name="post" enctype="multipart/form-data" onSubmit="return(envoiMessage(this));" target="_parent">
<input type="hidden" name="lt" value="0" />
<input type="hidden" name="mode" value="reply" /> <!-- Un nouveau topic sera créé -->
<input type="hidden" name="topictype" value="0" checked="checked" /> <!-- Value 0: Sujet Normal (1=p ost-it / 2=a nnonce) -->
<input type="hidden" name="message" value="" /> <!-- Contiendra le texte du message -->
<input type="hidden" name="subject" value="" />
<input type="hidden" name="username" value="" />
<input type="hidden" name="t" value="42" /> <!-- ID du forum dans lequel le message sera posté-->
<input name="titre" type="text" value="titre" style=""/>
<br/>
<textarea name="contenu" style="">Contenu</textarea>
<div style="background:#cccccc; padding:5px; margin-top:3px; text-align:center;">
<input type="reset" value="Annuler" style="background: white;" />
<input type="submit" value="Envoyer" name="post" style="background: white;" />
</div>
</form>
</body>
</html>
Le message généré sur mon forum test :- Code:
<div id='formresult'>
<div class='titre'>titre</div><div class='contenu'>Contenu</div>
</div>
(je suis pas sûre que ça soit intéressant, mais c'est généré ici : https://mllealys2.forumactif.org/t42- )
Merci d'avance à ceux qui pourront m'éclairer ! =D
Dernière édition par MlleAlys le Mar 20 Avr 2021 - 15:26, édité 3 fois (Raison : (ajout balise autour du message généré))
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Bonjour,
Ne disposant pas des compétences suffisantes pour produire le code, je me limite à la théorie.
1/ Modifier le message généré de sorte à ajouter une class ou un id (qu'on appellera truc dans la suite de ma réponse)
2/ Ajouter une fonction editionMessage() au formulaire actuel, ou créer un nouveau formulaire qui ne prendrait en charge que les éditions.
3/ Créer un javascript placé sur les sujets dont la fonction serait de rediriger le bouton Editer des messages ayant la class ou l'id truc vers le formulaire actuel appelé en mode édition, ou vers un nouveau formulaire dédié à l'édition des messages.
Ne disposant pas des compétences suffisantes pour produire le code, je me limite à la théorie.
1/ Modifier le message généré de sorte à ajouter une class ou un id (qu'on appellera truc dans la suite de ma réponse)
2/ Ajouter une fonction editionMessage() au formulaire actuel, ou créer un nouveau formulaire qui ne prendrait en charge que les éditions.
3/ Créer un javascript placé sur les sujets dont la fonction serait de rediriger le bouton Editer des messages ayant la class ou l'id truc vers le formulaire actuel appelé en mode édition, ou vers un nouveau formulaire dédié à l'édition des messages.
Re: Revenir au formulaire lors édition
Merci Neptunia pour ta réponse !
J'avoue que mes compétences en dans ce domaine sont limitées, bon dans ma tête c'était moins propre mais je suis relativement contente de voir que j'avais à peu près ces idées là !
Je ne savais pas si faire une balise globale autour de la réponse était indispensable : Est-ce que le script ne peut pas se repérer à la classe "titre" ou "contenu" si celle-ci est spécifique au formulaire ? Ou il faut forcément que l'élément englobe l'ensemble ?
Au cas où en tout cas j'ai modifié mon formulaire de test pour en ajouter une (j'ai maj mon premier message). ^^
Pour ajouter le mode édition au formulaire, j'ai juste su repérer la valeur du mode qui doit passer sur editpost plutôt que reply si j'ai bien suivi, mais je ne sais pas s'il y a d'autres choses à modifier (et si ce n'est pas l'auteur du message qui l'édite, par exemple un modérateur, est-ce que ça doit être pris en compte ailleurs dans le script ?) ; et puis je ne sais pas comment bidouiller le truc pour que ça se fasse de façon automatique, ou si effectivement il vaut mieux avoir un deuxième formulaire...
Merci encore, j'espère que quelqu'un pour m'aider pour la suite !
J'avoue que mes compétences en dans ce domaine sont limitées, bon dans ma tête c'était moins propre mais je suis relativement contente de voir que j'avais à peu près ces idées là !
Je ne savais pas si faire une balise globale autour de la réponse était indispensable : Est-ce que le script ne peut pas se repérer à la classe "titre" ou "contenu" si celle-ci est spécifique au formulaire ? Ou il faut forcément que l'élément englobe l'ensemble ?
Au cas où en tout cas j'ai modifié mon formulaire de test pour en ajouter une (j'ai maj mon premier message). ^^
Pour ajouter le mode édition au formulaire, j'ai juste su repérer la valeur du mode qui doit passer sur editpost plutôt que reply si j'ai bien suivi, mais je ne sais pas s'il y a d'autres choses à modifier (et si ce n'est pas l'auteur du message qui l'édite, par exemple un modérateur, est-ce que ça doit être pris en compte ailleurs dans le script ?) ; et puis je ne sais pas comment bidouiller le truc pour que ça se fasse de façon automatique, ou si effectivement il vaut mieux avoir un deuxième formulaire...
Merci encore, j'espère que quelqu'un pour m'aider pour la suite !
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
MlleAlys a écrit:Je ne savais pas si faire une balise globale autour de la réponse était indispensable : Est-ce que le script ne peut pas se repérer à la classe "titre" ou "contenu" si celle-ci est spécifique au formulaire ? Ou il faut forcément que l'élément englobe l'ensemble ?
Au cas où en tout cas j'ai modifié mon formulaire de test pour en ajouter une (et vais modifier de suite mon premier message pour mettre ça à jour). ^^
Ca ne change absolument rien que le "marqueur" soit sur une div globale ou sur la div d'un des champs du formulaire. Il faudra de toute façon remonter le DOM jusqu'au tbody le plus proche avant de redescendre l'arborescence à destination de la td de class post-options, du lien contenant "editpost" ou de l'image ayant pour class i_icon_edit. Le seul piège à éviter, c'est de ne pas modifier le bouton Editer dans le cas où le marqueur est englobé dans une citation. Un moyen grossier d'y parvenir serait de retirer le bouton Citer de chaque message ayant la class truc (ou titre ou contenu)
Ca me parait juste plus logique (et plus léger) d'utiliser un des conteneurs existants quitte à lui rajouter une class si nécessaire, plutôt que de rajouter une balise vide dont la seule fonction serait d'avoir de la class !
Pour ce qui concerne le mode édition, il y a pas mal de choses qui changent avec le mode "création".
- On ne poste pas un nouveau message, mais on écrase le contenu d'un ancien message.
- On ne part pas d'un formulaire vide, mais du formulaire dans lequel chaque champ a déjà un contenu (importé depuis le contenu du message en cours d'édition.
- On n'a plus besoin de gérer le titre du sujet
- On peut vouloir donner une explication à notre édition
Et il y a vraisemblablement pas mal d'autres différences.
En revanche, que l'on soit auteur du message ou modérateur, je ne pense pas que ça change quoi que ce soit. Si le bouton Editer est présent, c'est qu'on a la permission nécessaire.
En théorie, il serait plus logique d'utiliser le même formulaire pour créer comme pour éditer.
Dans la pratique, compte tenu des nombreuses différences entre les deux modes, et les capacités du codeur, il sera peut-être plus simple d'utiliser deux formulaires distincts quitte à devoir modifier deux formulaires à chaque changement du contenu du formulaire.
Re: Revenir au formulaire lors édition
Ok, donc finalement la div que j'ai ajoutée n'était pas obligatoire.
Et je n'avais effectivement pas pensé au cas de la citation !
Et pour ce qui est d'un ou deux formulaires... peut m'importe même si effectivement j'aimerais pouvoir comprendre le code de façon à le reproduire et l'adapter comme besoin ! Mais je me rangerai à la préférence de la personne qui voudra bien m'aider à écrire tout ça....
Et je n'avais effectivement pas pensé au cas de la citation !
Et pour ce qui est d'un ou deux formulaires... peut m'importe même si effectivement j'aimerais pouvoir comprendre le code de façon à le reproduire et l'adapter comme besoin ! Mais je me rangerai à la préférence de la personne qui voudra bien m'aider à écrire tout ça....
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Bonjour MlleAlys, Neptunia !
J'avoue ne pas avoir lu toute vos pistes mais je pense que si l'on met le code suivant sur les sujets (ou même dans le template entre balises script si c'est le cas bien sur) :
En remplaçant f7 si tu changes d'avis pour le forum !
Puis en ajoutant le javascript suivant à ta page HTML :
Bonne journée !
J'avoue ne pas avoir lu toute vos pistes mais je pense que si l'on met le code suivant sur les sujets (ou même dans le template entre balises script si c'est le cas bien sur) :
- Code:
$(function(){
let f = $('a.nav:last').attr('href'), le = $('.i_icon_edit:first').parent().attr('href'), p = le.match(/[0-9]+/)[0];
if(f.indexOf('f7')) $('.i_icon_edit:first').parent().attr('href', '/h4-');
$('.i_icon_edit:first').parent().on('click', e =>{
e.preventDefault();
sessionStorage.removeItem('title');
sessionStorage.removeItem('message');
sessionStorage.removeItem('p');
$.get(le, d =>{
let title = $('input[name="subject"]', d).val(), message = $('#text_editor_textarea', d).val();
sessionStorage.setItem('title', title)
sessionStorage.setItem('message', message);
sessionStorage.setItem('p', p);
window.location = $('.i_icon_edit:first').parent().attr('href');
});
});
});
En remplaçant f7 si tu changes d'avis pour le forum !
Puis en ajoutant le javascript suivant à ta page HTML :
- Code:
$(function(){
if(sessionStorage.getItem('title')){
let t = sessionStorage.getItem('title'), m = sessionStorage.getItem('message'), p = sessionStorage.getItem('p');
$('input[name="titre"]').val(t);
$('input[name="contenu"]').val(m);
$('input[name="mode"]').attr('value', 'editpost').after('<input type="hidden" name="p" value="'+p+'">');
}
});
- Code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
Bonne journée !
Re: Revenir au formulaire lors édition
Coucou Self, et bien vu
Si j'avais survolé assez longtemps le code du formulaire j'aurais pourtant vu qu'il s'agissait de créer des sujets et dans ce cas, inutile de devoir placer un marqueur signifiant que le contenu du message est issu d'un formulaire.
Reste à voir si tous les sujets du sous-fo seront générés par formulaire ou seulement quelques uns.
J'avais bêtement lu au premier degré en considérant que le formulaire postait un message et non un sujet.MlleAlys a écrit:J'ai créé un formulaire qui poste un message sur un forum
Si j'avais survolé assez longtemps le code du formulaire j'aurais pourtant vu qu'il s'agissait de créer des sujets et dans ce cas, inutile de devoir placer un marqueur signifiant que le contenu du message est issu d'un formulaire.
Reste à voir si tous les sujets du sous-fo seront générés par formulaire ou seulement quelques uns.
Re: Revenir au formulaire lors édition
Neptunia > Non, c'était bien un message posté en réponse dans le sujet t42 que j'avais fait ici, je n'avais pas pensé à la différence que ça pourrait induire pour l'édition
Est-ce plus simple pour l'édition quand cela poste un nouveau sujet ?
Merci beaucoup pour ton aide Self !
J'ai essayé de mettre tes codes, mais ça ne fonctionne pas.... Puis au message de Neptunia j'ai modifié mon formulaire pour qu'il poste un nouveau sujet dans le forum f7 au lieu de répondre au sujet t42, en me disant que ça devait venir de cette différence là, mais... ça ne fonctionne pas non plus En cliquant sur "éditer", je suis dirigée vers l'éditeur classique et non le formulaire.
Je vais essayer de prendre le temps d'étudier le contenu de ce que tu m'as proposé pour essayer de comprendre comment ça fonctionne (et qui sait ? Peut être trouver le problème pour le corriger ? Mais je ne sais pas pourquoi je doute de cette partie là ! xD)
J'ai installé le premier code javascript "sur les sujets" en passant par les modules, j'ai laissé f7.
Mon formulaire actuel, après avoir ajouté ce que tu m'as proposé et modifié pour qu'il poste un nouveau sujet dans f7 :
Est-ce plus simple pour l'édition quand cela poste un nouveau sujet ?
Merci beaucoup pour ton aide Self !
J'ai essayé de mettre tes codes, mais ça ne fonctionne pas.... Puis au message de Neptunia j'ai modifié mon formulaire pour qu'il poste un nouveau sujet dans le forum f7 au lieu de répondre au sujet t42, en me disant que ça devait venir de cette différence là, mais... ça ne fonctionne pas non plus En cliquant sur "éditer", je suis dirigée vers l'éditeur classique et non le formulaire.
Je vais essayer de prendre le temps d'étudier le contenu de ce que tu m'as proposé pour essayer de comprendre comment ça fonctionne (et qui sait ? Peut être trouver le problème pour le corriger ? Mais je ne sais pas pourquoi je doute de cette partie là ! xD)
J'ai installé le premier code javascript "sur les sujets" en passant par les modules, j'ai laissé f7.
Mon formulaire actuel, après avoir ajouté ce que tu m'as proposé et modifié pour qu'il poste un nouveau sujet dans f7 :
- (codes modifiés, voir la maj plus bas dans le sujet) :
- Code:
<!DOCTYPE html>
<html lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
</style>
<script type="text/javascript">
function envoiMessage(form) {
// titre du sujet
form.subject.value = form.titresujet.value;
// Message est une chaîne de caractères vide :
var text_message = "";
// Remplir message à partir des informations fournies
text_message = text_message + "<div id='formresult'>\n<div class='titre'>" + form.titre.value + "</div><div class='contenu'>" + form.contenu.value + "</div>\n</div>";
// Insère le texte construit dans le champ caché "message" du formulaire
form.message.value = text_message;
}
</script>
<script type="text/javascript">
// pour édition
$(function(){
if(sessionStorage.getItem('title')){
let t = sessionStorage.getItem('title'), m = sessionStorage.getItem('message'), p = sessionStorage.getItem('p');
$('input[name="titre"]').val(t);
$('input[name="contenu"]').val(m);
$('input[name="mode"]').attr('value', 'editpost').after('<input type="hidden" name="p" value="'+p+'"/>');
}
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form action="/posting.forum" method="post" name="post" enctype="multipart/form-data" onSubmit="return(envoiMessage(this));" target="_parent">
<input type="hidden" name="lt" value="0" />
<input type="hidden" name="mode" value="newtopic" /> <!-- reply / newtopic / editpost -->
<input type="hidden" name="topictype" value="0" checked="checked" /> <!-- Normal=0; post-it=1; annonce=2; globale=3 -->
<input type="hidden" name="message" value="" /> <!-- Contiendra le texte du message -->
<input type="hidden" name="subject" value="" />
<input type="hidden" name="username" value="" />
<input type="hidden" name="f" value="7" /> <!-- ID du forum ou du sujet dans lequel le message sera posté-->
titre du sujet : <input name="titresujet" type="text" />
<br/>message :
<br/><input name="titre" type="text" value="titre" style=""/>
<br/>
<textarea name="contenu" style="">Contenu</textarea>
<div>
<input type="reset" value="Annuler" style="background: white;" />
<input type="submit" value="Envoyer" name="post" style="background: white;" />
</div>
</form>
</body>
</html>
Dernière édition par MlleAlys le Mar 20 Avr 2021 - 15:27, édité 2 fois
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
J'ai encore perdu une belle occasion de la fermer mdr
P.S. J'essaie de tester ça de mon côté
- Code:
<input type="hidden" name="mode" value="reply" /> <!-- Un nouveau topic sera créé -->
P.S. J'essaie de tester ça de mon côté
Re: Revenir au formulaire lors édition
Hello, je suis sur téléphone, je ne pourrais pas répondre et reprendre mes tests avant demain sur pc. Cependant je peux vous dire ce que mon code fait et ce que je croyais avoir compris.
Effectivement en voyant l'input titre j'ai cru qu'il devait créer un nouveau sujet, j'ai donc suivi le fil d'ariane pour dire que tout les sujets qui se trouvaient dans le dit forum devraient être à l'édition du premier message et seulement le premier rediriger vers la page h4 avec le titre et le contenu de ce premier message. Si vos tests étaient différents de l'édition du premier message d'un sujet présent dans le forum f7 ça ne marche donc pas .
Effectivement en voyant l'input titre j'ai cru qu'il devait créer un nouveau sujet, j'ai donc suivi le fil d'ariane pour dire que tout les sujets qui se trouvaient dans le dit forum devraient être à l'édition du premier message et seulement le premier rediriger vers la page h4 avec le titre et le contenu de ce premier message. Si vos tests étaient différents de l'édition du premier message d'un sujet présent dans le forum f7 ça ne marche donc pas .
Re: Revenir au formulaire lors édition
Neptunia > Pas de souci, c'est un peu de ma faute parce que je suis repartie d'un autre formulaire pour le modifier, mais je n'ai pas pris la peine de changer les commentaires ^^"
Et oui je me suis rendue compte après que le "titre" pouvait aussi prêter à confusion, pardon, c'était surtout pour pouvoir tester un formulaire avec plusieurs champs, pardon ><"
Self > C'est ce que j'en ai déduit aussi, mais du coup j'ai modifié le formulaire pour qu'il poste bien un nouveau sujet, et je l'ai testé ainsi... Mais ça n'a tout de même pas fonctionné
J'ai peut être oublié autre chose....
Et oui je me suis rendue compte après que le "titre" pouvait aussi prêter à confusion, pardon, c'était surtout pour pouvoir tester un formulaire avec plusieurs champs, pardon ><"
Self > C'est ce que j'en ai déduit aussi, mais du coup j'ai modifié le formulaire pour qu'il poste bien un nouveau sujet, et je l'ai testé ainsi... Mais ça n'a tout de même pas fonctionné
J'ai peut être oublié autre chose....
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Le formulaire crée bien le sujet là où on lui demande mais le script placé sur les sujets est sans effet, il ne change pas la cible du lien du bouton Editer.
Il y a un autre problème (enfin je pense)
Si j'ai bien compris, tu stocke le titre du sujet et le contenu du premier message ? Le problème vient du contenu, dans ton script c'est un tout, dans le formulaire ce sont deux champs individuels et non un seul global.
Donc toujours si j'ai bien compris dans le meilleur des cas, le formulaire va rapatrier les deux champs dans le premier (input titre) au lieu de rapatrier le premier champ dans input (titre) et le second dans textarea (contenu). Après c'est vrai que le nom des champs nous induit rapidement en erreur.
Il y a un autre problème (enfin je pense)
Si j'ai bien compris, tu stocke le titre du sujet et le contenu du premier message ? Le problème vient du contenu, dans ton script c'est un tout, dans le formulaire ce sont deux champs individuels et non un seul global.
Donc toujours si j'ai bien compris dans le meilleur des cas, le formulaire va rapatrier les deux champs dans le premier (input titre) au lieu de rapatrier le premier champ dans input (titre) et le second dans textarea (contenu). Après c'est vrai que le nom des champs nous induit rapidement en erreur.
Re: Revenir au formulaire lors édition
Pardon,
Du coup pour éviter les confusions, j'ai modifié les champs du formulaire ! J'espère que ce sera plus simple pour vous ainsi !
(Mais si vous préférez autrement, dites moi surtout !)
Formulaire :
lien : https://mllealys2.forumactif.org/h4-
code de la page html du formulaire :
Message généré dans un nouveau sujet du forum f7 :
lien exemple : https://mllealys2.forumactif.org/t48-titre-du-sujet#100
contenu généré :
Le but est effectivement de récupérer les contenus correspondants dans chaque champ ! ^^
Du coup pour éviter les confusions, j'ai modifié les champs du formulaire ! J'espère que ce sera plus simple pour vous ainsi !
(Mais si vous préférez autrement, dites moi surtout !)
Formulaire :
lien : https://mllealys2.forumactif.org/h4-
code de la page html du formulaire :
- Code:
<!DOCTYPE html>
<html lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function envoiMessage(form) {
// titre du sujet
form.subject.value = form.titresujet.value;
// Message est une chaîne de caractères vide :
var text_message = "";
// Remplir message à partir des informations fournies
text_message = text_message + "<div id='formresult'>\n<div class='contenu1'>" + form.contenu1.value + "</div><div class='contenu2'>" + form.contenu2.value + "</div>\n</div>";
// Insère le texte construit dans le champ caché "message" du formulaire
form.message.value = text_message;
}
</script>
<script type="text/javascript">
// pour édition
$(function(){
if(sessionStorage.getItem('title')){
let t = sessionStorage.getItem('title'), m = sessionStorage.getItem('message'), p = sessionStorage.getItem('p');
$('input[name="titre"]').val(t);
$('input[name="contenu"]').val(m);
$('input[name="mode"]').attr('value', 'editpost').after('<input type="hidden" name="p" value="'+p+'"/>');
}
});
</script>
</head>
<body>
<form action="/posting.forum" method="post" name="post" enctype="multipart/form-data" onSubmit="return(envoiMessage(this));" target="_parent">
<input type="hidden" name="lt" value="0" />
<input type="hidden" name="mode" value="newtopic" /> <!-- reply / newtopic / editpost -->
<input type="hidden" name="topictype" value="0" checked="checked" /> <!-- Normal=0; post-it=1; annonce=2; globale=3 -->
<input type="hidden" name="message" value="" /> <!-- Contiendra le texte du message -->
<input type="hidden" name="subject" value="" />
<input type="hidden" name="username" value="" />
<input type="hidden" name="f" value="7" /> <!-- ID du forum ou du sujet dans lequel le message sera posté-->
titre du message : <input name="titresujet" type="text" value="Titre du sujet"/>
<br/>message :
<br/><input name="contenu1" type="text" value="Contenu 1" style=""/>
<br/>
<textarea name="contenu2" style="">Contenu 2</textarea>
<div>
<input type="reset" value="Annuler" style="background: white;" />
<input type="submit" value="Envoyer" name="post" style="background: white;" />
</div>
</form>
</body>
</html>
Message généré dans un nouveau sujet du forum f7 :
lien exemple : https://mllealys2.forumactif.org/t48-titre-du-sujet#100
contenu généré :
- Code:
<div id='formresult'>
<div class='contenu1'>Contenu 1</div><div class='contenu2'>Contenu 2</div>
</div>
Le but est effectivement de récupérer les contenus correspondants dans chaque champ ! ^^
Dernière édition par MlleAlys le Mar 20 Avr 2021 - 17:21, édité 2 fois (Raison : maj code formulaire : correction biblio jquery avant les autres)
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
C'est ton fofo et ton formulaire.
Tu choisis le nom des champs comme tu veux !
Ceci dit Contenu 1 et Contenu 2 bah ça évite l'effet Peau de banane
Tu choisis le nom des champs comme tu veux !
Ceci dit Contenu 1 et Contenu 2 bah ça évite l'effet Peau de banane
Re: Revenir au formulaire lors édition
En l'occurrence c'est juste mon forum test, et un formulaire de test aussi que j'ai créé juste pour me pencher sur cette question...
Donc oui, si je peux simplifier la vie de ceux qui veulent bien m'aider (et je vous remercie encore de le faire ! ) juste en changeant les noms des champs, au contraire : je vous retire volontiers les peaux de banane !
(Et puis si on y arrive, ça m'évitera de glisser moi même dessus quand j'essayerai d'adapter ensuite le code sur d'autres formulaires ! xD)
Donc oui, si je peux simplifier la vie de ceux qui veulent bien m'aider (et je vous remercie encore de le faire ! ) juste en changeant les noms des champs, au contraire : je vous retire volontiers les peaux de banane !
(Et puis si on y arrive, ça m'évitera de glisser moi même dessus quand j'essayerai d'adapter ensuite le code sur d'autres formulaires ! xD)
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Je dois avouer être un peu perdu du coup . Le formulaire de base doit envoyer une réponse à un sujet précis ou créer un nouveau sujet ? L'édition doit renvoyer vers le formulaire sur chaque message du sujet ou seulement pour le premier message ?
MlleAlys dans ta page html tu as importé la librairie jQuery après le code ça ne peut déjà pas marcher à ce niveau là il faut l'importer avant .
Neptunia, le code change la cible du premier bouton éditer si le dernier lien du fil d'ariane est bien le f7, puis au clique sur celui-ci on récupère l'id du message à éditer, le titre du sujet et le message que l'on stock dans des variables de session que l'on récupère ensuite sur la page html si elle ont bien était défini.
MlleAlys dans ta page html tu as importé la librairie jQuery après le code ça ne peut déjà pas marcher à ce niveau là il faut l'importer avant .
Neptunia, le code change la cible du premier bouton éditer si le dernier lien du fil d'ariane est bien le f7, puis au clique sur celui-ci on récupère l'id du message à éditer, le titre du sujet et le message que l'on stock dans des variables de session que l'on récupère ensuite sur la page html si elle ont bien était défini.
Re: Revenir au formulaire lors édition
Neptunia, le code change la cible du premier bouton éditer si le dernier lien du fil d'ariane est bien le f7
C'est justement là que ça coince, rien ne changeait.
J'avais bien changé l'id du forum (f3 chez moi) et l'id du formulaire (/h2-) mais aucun changement de lien.
Fil d'ariane bien présent et non modifié, idem pour le bouton Editer.
En tout cas le comportement que tu décris est bien celui que je pensais avoir compris.
Pour le formulaire, initialement c'était pour poster un message, enfin une réponse à un sujet déjà ouvert. Mais comme tu es parti sur la création d'un nouveau sujet, MlleAlys a pas voulu te contrarier et a enlevé les peaux de bananes pour que son formulaire soit en adéquation avec ton codage.
Visiblement ce qui l’intéresse c'est la possibilité d'éditer depuis le formulaire. Pour le reste je pense qu'elle sera assez grande pour se débrouiller. Elle cherche un exemple, une base qu'elle pourra remodeler en fonction des besoins. Pas un code tout prêt comme c'est souvent le cas ici.
Sur chaque message généré par le formulaire.Self a écrit:L'édition doit renvoyer vers le formulaire sur chaque message du sujet ou seulement pour le premier message ?
C'est pour ça que je parlais d'ajouter un marqueur dans le corps du message. Afin de pouvoir rediriger le bouton Edition de chacun des messages comportant ce marqueur.
Edité à 16h48
Si j'injecte le javascript dans la console :
- Code:
$(function(){
let f = $('a.nav:last').attr('href'), le = $('.i_icon_edit:first').parent().attr('href'), p = le.match(/[0-9]+/)[0];
if(f.indexOf('f1')) $('.i_icon_edit:first').parent().attr('href', '/h2-');
$('.i_icon_edit:first').parent().on('click', e =>{
e.preventDefault();
sessionStorage.removeItem('title');
sessionStorage.removeItem('message');
sessionStorage.removeItem('p');
$.get(le, d =>{
let title = $('input[name="subject"]', d).val(), message = $('#text_editor_textarea', d).val();
sessionStorage.setItem('title', title)
sessionStorage.setItem('message', message);
sessionStorage.setItem('p', p);
window.location = $('.i_icon_edit:first').parent().attr('href');
});
});
});
Cela modifie bien le lien du bouton Editer du premier message (et pas des suivants) et charge bien le formulaire ...
... qui ne récupère rien vu que la bibliothèque jQuery est chargée trop tard.
Mais si je place le script dans la gestion des codes js, ça fonctionne pas (et je n'ai pas la moindre erreur bloquante, juste une flopée d'avertissements)
Re: Revenir au formulaire lors édition
Self a écrit:Je dois avouer être un peu perdu du coup . Le formulaire de base doit envoyer une réponse à un sujet précis ou créer un nouveau sujet ? L'édition doit renvoyer vers le formulaire sur chaque message du sujet ou seulement pour le premier message ?
Neptunia a déjà bien répondu, effectivement en posant ma question, j'avais un formulaire qui postait une réponse dans un sujet, mais comme ton code fonctionnait dans le cas où c'était le premier, j'ai modifié mon formulaire pour qu'il poste un nouveau sujet.
Si ça pouvait fonctionner dans les deux cas, ça serait l'idéal bien sûr, après si c'est plus simple quand le formulaire poste un nouveau sujet, je me contenterai déjà de ça bien sûr !
... Effectivement, erreur idiote, je vais corriger ça de suite !Self a écrit:MlleAlys dans ta page html tu as importé la librairie jQuery après le code ça ne peut déjà pas marcher à ce niveau là il faut l'importer avant .
(Je prends note au cas où qu'il faut donc bien vérifier le fil d'Ariane dans le cas d'un forum personnalisé alors !)Self a écrit:le code change la cible du premier bouton éditer si le dernier lien du fil d'ariane est bien le f7
Et oui, je suis pas très douée avec les javascripts, j'arrive à peu près à bidouiller des codes relativement simples ou quand on m'explique comment ça fonctionne, à la limite écrire une fonction ultra simple et basique ça peut passer, mais là clairement ça dépasse de loin mes compétences....
Donc effectivement comme dit Neptunia dans l'idéal je cherche une base simple et solide pour éditer un message via un formulaire, la plus multipass possible, pour la comprendre et pouvoir la réutiliser par la suite quand j'en ai besoin en l'adaptant sur des formulaires divers !
(comment ça "simple" et "multipass" dans la même phrase c'est pas un cadeau ?? Bon, le meilleur compromis entre les deux alors ! )
Merci encore de votre aide !
EDIT : J'ai corrigé mon formulaire et remis le lien vers la bibliothèque jquery avant les autres !
Mais ça ne fonctionne toujours pas quand je clique sur "éditer" ensuite
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Hello, merci pour les clarifications tout les deux. Je ne vois pas très bien l'intérêt de passer par un formulaire pour l'envoi d'un message mais il doit y en avoir un . Du coup le plus simple est de mettre un mode par défaut qui créerait un nouveau topic dans un dit forum, que chaque messages postés par ce formulaire ensuite pour répondre soit éditable via celui-ci et que l'on reconnaisse dans quel sujet on se trouve donc pour envoyer les réponses dans le bon sujet... Je sais que MlleAlys ne veut pas quelque choses de clé en main mais il faut qu'il y est un minimum de machinerie derrière si tout les messages y compris les nouveaux sujets doivent être éditable via ce formulaire
Re: Revenir au formulaire lors édition
Alors la première fois que j'ai croisé un formulaire de ce type c'était sur un forum type rpg, avec une fiche de présentation relativement riche en codes pour sa mise en forme, donc le but était de permettre aux membres qui ne s'y connaissent pas trop de remplir la fiche et de la poster automatiquement sans tout casser...Self a écrit:Je ne vois pas très bien l'intérêt de passer par un formulaire pour l'envoi d'un message mais il doit y en avoir un
(et pour le coup si on voulait modifier sa fiche par la suite, on se retrouvait dans l'éditeur normal avec tous les codes sans pouvoir revenir au formulaire, ça pourrait être un bon exemple pour ce sujet !)
Je crois que ça c'est bon, mon formulaire poste un nouveau sujet dans le forum f7 de mon forum test !Self a écrit:Du coup le plus simple est de mettre un mode par défaut qui créerait un nouveau topic dans un dit forum
Je suis pas sûre d'avoir compris, dans le sens où ça me semble être une évidence et justement le sujet de ma question : Comment faire pour que le message généré puisse être édité à nouveau via le même formulaire ?Self a écrit:que chaque messages postés par ce formulaire ensuite pour répondre soit éditable via celui-ci
Je sais pas si j'ai bien compris, c'est la partie qui permet d'écraser le message éditer au lieu d'en poster un nouveau ?Self a écrit:et que l'on reconnaisse dans quel sujet on se trouve donc pour envoyer les réponses dans le bon sujet...
Je n'ai pas compris du tout... Seuls les messages postés via le formulaire seraient voués à être édités via ce même formulaire (ou sa copie s'il faut que j'en crée un deuxième juste pour l'édition)Self a écrit:si tout les messages y compris les nouveaux sujets doivent être éditable via ce formulaire
Par exemple si je reprends l'exemple du début de mon message, le membre poste une fiche de présentation à l'aide du formulaire. S'il doit la modifier par la suite, en cliquant sur "éditer" ça le ramène au formulaire, avec comme contenu dans les champs ce qu'il y a actuellement dans la fiche postée.
Et bien sûr ça écrase la fiche précédente quand il la poste à nouveau.
Je pense qu'une partie de la "machinerie" que je ne maîtrise pas sont les systèmes de "sessionStorage", c'est ce qui va permettre de "sauvegarder" les différentes parties du message pour les remettre ensuite au bon endroit dans le formulaire c'est ça ? C'est grâce à ça qu'on "switche" le formulaire en mode édition, si je garde le même, du genre "si un identifiant de message est dans le storage, alors on passe en mode édition et il faudra écraser le message avec ce même identifiant" ?
Pour le mode édition, j'ai bien repéré le champ "mode" qui passe sur "editpost",
le champ "f" qui devient "p" avec pour valeur l'identifiant du message,
mais quand j'inspecte le formulaire lors de l'édition d'un message, j'y trouve également ça :
- Code:
<input type="hidden" name="lt" value="101">
<input type="hidden" name="auth[]" value="9b0e8732cd2c31546c26c58551ad1223">
<input type="hidden" name="auth[]" value="263b095bd9ad4e4582a8f70bf6762324">
auth[] est-ce l'auteur ? Du message, et de celui qui édite ? Comment récupérer ces informations ?
Merci encore pour ton aide !
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Je suis en train de travailler sur le sujet, ça risque d'être légèrement long car je n'ai que quelques minutes par-ci par-la pour m'y mettre !
Je vais essayer d'être plus clair dans les explications .
Sur le formulaire on va devoir définir le mode suivant le moyen où le membre est arrivé dessus, via le bouton créer un nouveau sujet ou en cliquant sur éditer.
Et ensuite les passer en valeur des inputs de type hidden. Il y en a énormément ce sont les informations que l'on envoi au serveur mais heureusement on à pas besoin de tous les mettre.
lt semble correspondre au nombre de message posté sur le forum au moment ou l'on arrive sur la page, si je me trompe pas il n'est pas essentiel.
auth[] est si je l'ai bien compris aussi une sécurité anti-spam, à toi de voir ce que tu veux faire concernant cela : https://forum.forumactif.com/t318903p30-erreur-navigateur-est-survenue-erreur-230-veuillez-contacter-le-support-technique
Pour le reste je pense que tu as compris que l'on va devoir faire suivant si c'est un nouveau message, un nouveau sujet ou l'édition d'un message, comme passer en paramètre l'id du post à la place de l'id du forum si on édite.
Concernant les sessionStorage il s'agit de variables de session, des informations que l'on va sauvegarder afin de pouvoir les récupérer tant que l'utilisateur ne change pas de domaine ou ne ferme pas son navigateur. Ces données sont écrasées une fois la session de l'utilisateur terminée ou via javascript avec un removeItem et pour la petite info même si l'on peut écrire des chiffres ou des booléens ou encore des variables, le seul résultat que vous aurez lorsque vous récupérerez les informations de session sera une chaines de caractère. Il existe aussi le localStorage avec la différence que les informations locales ne sont pas écrasées en fin de session.
Je vais essayer d'être plus clair dans les explications .
Sur le formulaire on va devoir définir le mode suivant le moyen où le membre est arrivé dessus, via le bouton créer un nouveau sujet ou en cliquant sur éditer.
Et ensuite les passer en valeur des inputs de type hidden. Il y en a énormément ce sont les informations que l'on envoi au serveur mais heureusement on à pas besoin de tous les mettre.
lt semble correspondre au nombre de message posté sur le forum au moment ou l'on arrive sur la page, si je me trompe pas il n'est pas essentiel.
auth[] est si je l'ai bien compris aussi une sécurité anti-spam, à toi de voir ce que tu veux faire concernant cela : https://forum.forumactif.com/t318903p30-erreur-navigateur-est-survenue-erreur-230-veuillez-contacter-le-support-technique
Pour le reste je pense que tu as compris que l'on va devoir faire suivant si c'est un nouveau message, un nouveau sujet ou l'édition d'un message, comme passer en paramètre l'id du post à la place de l'id du forum si on édite.
Concernant les sessionStorage il s'agit de variables de session, des informations que l'on va sauvegarder afin de pouvoir les récupérer tant que l'utilisateur ne change pas de domaine ou ne ferme pas son navigateur. Ces données sont écrasées une fois la session de l'utilisateur terminée ou via javascript avec un removeItem et pour la petite info même si l'on peut écrire des chiffres ou des booléens ou encore des variables, le seul résultat que vous aurez lorsque vous récupérerez les informations de session sera une chaines de caractère. Il existe aussi le localStorage avec la différence que les informations locales ne sont pas écrasées en fin de session.
Re: Revenir au formulaire lors édition
Pas de souci, rien ne presse, merci encore c'est super !
Ok pour "lt", ça semble cohérent !
Je vais aller me plonger dans les explications sur auth[] pour voir alors x3
Et je crois que j'ai compris pour les sessionStorage ! (c'est fou comme c'est toujours plus facile de "comprendre" que de "faire" ! )
Ok pour "lt", ça semble cohérent !
Je vais aller me plonger dans les explications sur auth[] pour voir alors x3
Et je crois que j'ai compris pour les sessionStorage ! (c'est fou comme c'est toujours plus facile de "comprendre" que de "faire" ! )
Dernière édition par MlleAlys le Mer 21 Avr 2021 - 19:18, édité 1 fois
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
(up pour éviter le verrouillage, Self est sur la question ^^)
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
(toujours d'actualité ^^)
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Hello !
Bon j'ai quelque chose de fonctionnel de mon côté, mais comme demandé ce n'est pas du clé en main et du coup il y aura des modifications à apporter.
Je commence par le script sur le forum.
Ici rien de spécial à dire j'ai commenter au mieux et si tu as des questions je serais ravi d'y répondre. Bien sur il faut changer les liens de ces deux lignes :
Concernant le formulaire, c'est la que va se jouer tout le traitement de l'envoi des données et de la remise en forme du formulaire avec les informations récupérées.
EDIT: Malheureusement j'avais fait un message avec les explications mais je pense qu'il y a eu un beug avec les moment ou je parlais des quotes de la touche 7, je n'ai pas le temps ce soir de refaire le message au complet mais j'édite demain, je te laisse quand même les codes en attendant .
Bon j'ai quelque chose de fonctionnel de mon côté, mais comme demandé ce n'est pas du clé en main et du coup il y aura des modifications à apporter.
Je commence par le script sur le forum.
- Code:
$(function(){
/*Reset des variable de session*/let resetStorage = function(){
sessionStorage.removeItem('mode');
sessionStorage.removeItem('message');
sessionStorage.removeItem('topic');
sessionStorage.removeItem('p');
sessionStorage.removeItem('subject');
};
/*Lien du forum cible*/let nav = 'f1';
/*Page du formulaire*/let target = '/h1-';
if(location.pathname.match(target) || $('a.nav:last').attr('href').indexOf(nav)){
/*Pour chaque message généré par le formulaire*/$('.byForm').each(function(){
/*On prend le parent et l'id du message à éditer*/let post = $(this).parents('table[width="100%"]'), id = post.find('a[href$="editpost"]').attr('href').match(/[0-9]+/)[0];
/*Au clique sur le bouton éditer*/post.find('a[href$="editpost"]').on('click', e =>{
e.preventDefault();
/*Le reset pour être sur de ne pas passer de mauvaise infos*/resetStorage();
/*Lien de récupération du titre et contenu du message*/let le = post.find('a[href$="editpost"]').attr('href');
/*On récupère les infos en ajax et les passe dans les variables de session avant de rediriger vers le formulaire*/$.get(le, d =>{
let title = $('input[name="subject"]', d).val(), message = $('#text_editor_textarea', d).val();
sessionStorage.setItem('mode', 'editpost');
sessionStorage.setItem('subject', title);
sessionStorage.setItem('message', message);
sessionStorage.setItem('topic', id);
window.location = target;
});
});
});
/*On remplace chaque lien de nouveau sujet ou de réponse par la page du formulaire*/$('a[href$="reply"], a[href$="newtopic"]').attr('href', target);
}
/*Au clique sur nouveau sujet*/$('img[alt="Poster un nouveau sujet"]').parent().on('click', e =>{
e.preventDefault();
/*Le reset pour être sur de ne pas passer de mauvaise infos*/resetStorage();
/*Et on redirige*/window.location = target;
});
/*Au clique sur Répondre*/$('img[alt="Répondre au sujet"]').parent().on('click', e =>{
e.preventDefault();
/*Le reset pour être sur de ne pas passer de mauvaise infos*/resetStorage();
/*On récupère l'id du topic et configure les variables de session avant de rediriger vers le formulaire*/let topic_id = location.pathname.match(/[0-9]+/)[0];
sessionStorage.setItem('mode', 'reply');
sessionStorage.setItem('topic', topic_id);
window.location = target;
});
});
Ici rien de spécial à dire j'ai commenter au mieux et si tu as des questions je serais ravi d'y répondre. Bien sur il faut changer les liens de ces deux lignes :
- Code:
/*Lien du forum cible*/let nav = 'f1';
/*Page du formulaire*/let target = '/h1-';
Concernant le formulaire, c'est la que va se jouer tout le traitement de l'envoi des données et de la remise en forme du formulaire avec les informations récupérées.
- Code:
<!DOCTYPE html>
<html>
<head>
<title>Poster un nouveau message</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
let definePostingMethod = function(){
/*Les paramètres que l'on veut récupérer*/let params = ['mode', 'topic', 'subject', 'message'];
/*Si le mode est reply*/let reply = function(){
/*On récupère le topic cible*/$('input[name="f"]').after('<input type="hidden" name="t" value="'+sessionStorage.getItem('topic')+'">').remove();
}, /*Si le mode est editpost*/edit = function(){
/*On récupère le titre*/$('input[name="title"]').attr('value', sessionStorage.getItem('subject'));
/*Ici on gère le contenu*/$('#content').html(sessionStorage.getItem('message'));
/*On récupère le message cible*/$('input[name="f"]').after('<input type="hidden" name="p" value="'+sessionStorage.getItem('topic')+'">').remove();
/*On récupère le titre du message cible*/$('input[name="subject"]').attr('value', sessionStorage.getItem('subject'));
};
for(let i = 0; i < params.length; i++){
/*On configure chaque paramètre*/if(sessionStorage.getItem(params[i]) != null) $('input[name="'+params[i]+'"]').attr('value', sessionStorage.getItem(params[i]));
}
/*Si le mode est défini*/if(sessionStorage.getItem('mode') != null){
switch(sessionStorage.getItem('mode')){
/*Et si il est reply*/case 'reply':
/*On lance la fonction reply*/reply();
break;
/*Et si il est editpost*/case 'editpost':
/*On lance la fonction edit*/edit();
break;
}
}
};
definePostingMethod();
/*A la soumission du formulaire*/$('form[action="/post"]').on('submit', function(){
let content = $('#content').html();
$('input[name="subject"]').attr('value', $('#title').attr('value'));
/*Si on est pas en mode édition*/if(sessionStorage.getItem('mode') != 'editpost'){
/*On ajoute une div .byForm autour du contenu*/$('input[name="message"]').attr('value', '<div class="byForm">'+content+'</div>');
}else{ $('input[name="message"]').attr('value', content); }
});
});
</script>
</head>
<body>
<form action="/post" method="post" name="post" enctype="multipart/form-data">
<!-- Titre du message -->
<label for="title">titre du message :</label>
<input id="title" name="title" type="text" placeholder="Titre du message" value=""/><br>
<div id="content">
<!-- Contenu du formulaire -->
<label for="comments">commentaire ? :</label>
<textarea name="comments" placeholder="Ecrivez votre message"></textarea>
</div>
<div class="submitbuttons">
<!-- Bouton d'envoi du formulaire -->
<input type="submit" value="Envoyer" name="post">
</div>
<div id="options">
<!-- Les inputs qui gère les options -->
<input type="hidden" name="mode" value="newtopic">
<input type="hidden" name="topictype" value="0" checked="checked">
<input type="hidden" name="message" value="">
<input type="hidden" name="subject" value="">
<input type="hidden" name="f" value="1">
</div>
</form>
</body>
</html>
EDIT: Malheureusement j'avais fait un message avec les explications mais je pense qu'il y a eu un beug avec les moment ou je parlais des quotes de la touche 7, je n'ai pas le temps ce soir de refaire le message au complet mais j'édite demain, je te laisse quand même les codes en attendant .
Re: Revenir au formulaire lors édition
wahou super merci !
Alors je vais surement attendre les explications pour comprendre plus en détail, mais il y a déjà quelques points qui m'interrogent :
- le message posté n'affiche pas le contenu du bloc "commentaire" mais le bloc lui même ^^"
- J'aurais aimé garder au moins deux champs différents de "contenu" du message, pour comprendre comment redistribuer chaque partie du message dans le bon champ... Mon formulaire de test est dans ce genre là :
et le contenu du message généré ainsi :
- Si je ne souhaite pas passer par le formulaire lorsqu'on clique sur "répondre" dans ce forum, il suffit de retirer cette partie là du script ?
Alors je vais surement attendre les explications pour comprendre plus en détail, mais il y a déjà quelques points qui m'interrogent :
- le message posté n'affiche pas le contenu du bloc "commentaire" mais le bloc lui même ^^"
- J'aurais aimé garder au moins deux champs différents de "contenu" du message, pour comprendre comment redistribuer chaque partie du message dans le bon champ... Mon formulaire de test est dans ce genre là :
et le contenu du message généré ainsi :
- Code:
<div id='formresult'>
<div class='contenu1'>Contenu 1</div><div class='contenu2'>Contenu 2</div>
</div>
- Si je ne souhaite pas passer par le formulaire lorsqu'on clique sur "répondre" dans ce forum, il suffit de retirer cette partie là du script ?
- Code:
/*Au clique sur Répondre*/$('img[alt="Répondre au sujet"]').parent().on('click', e =>{
e.preventDefault();
/*Le reset pour être sur de ne pas passer de mauvaise infos*/resetStorage();
/*On récupère l'id du topic et configure les variables de session avant de rediriger vers le formulaire*/let topic_id = location.pathname.match(/[0-9]+/)[0];
sessionStorage.setItem('mode', 'reply');
sessionStorage.setItem('topic', topic_id);
window.location = target;
});
MlleAlys- Membre actif
- Messages : 5968
Inscrit(e) le : 12/09/2012
Re: Revenir au formulaire lors édition
Alors Effectivement pour mes tests j'ai fait simple.
Le contenu envoyé est généré par une variable :
Pour le retour, ce que je pense faire c'est ajouter ceci après les options :
Pour le bouton répondre c'est exactement ça .
Bien sur il faut mettre un peu de CSS pour caché la div !
Le contenu envoyé est généré par une variable :
- Code:
let content = $('#content').html();
- Code:
let contenu1 = $('input[name"contenu1"]').attr('value'), contenu2 = $('input[name"contenu2"]').attr('value');
let content = '<div id='formresult'>
<div class='contenu1'>${contenu1}</div><div class='contenu2'>${contenu2}</div>
</div>'
Pour le retour, ce que je pense faire c'est ajouter ceci après les options :
- Code:
<div id="hiddencontent"></div>
- Code:
$('#content').html(sessionStorage.getItem('message'));
- Code:
$('#hiddencontent').html(sessionStorage.getItem('message'));
$('input[name"contenu1"]').attr('value', $('.contenu1').html());
Pour le bouton répondre c'est exactement ça .
Bien sur il faut mettre un peu de CSS pour caché la div !
Page 1 sur 2 • 1, 2
Sujets similaires
» Décalage des éléments de la PA lors de l'édition
» Problème lors de l'édition d'un sujet
» Disparition du BBCode lors de l'édition
» Disparition partielle d'un message lors de l'édition
» Problème d'envoi de message lors d'une édition
» Problème lors de l'édition d'un sujet
» Disparition du BBCode lors de l'édition
» Disparition partielle d'un message lors de l'édition
» Problème d'envoi de message lors d'une édition
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum