Formulaire pour "Répondre à un sujet"

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

Résolu Formulaire pour "Répondre à un sujet"

Message par sipherion le Mar 27 Déc 2011 - 13:13

Bonjour à tous,
J'ai essayé de chercher l'information dans les différents sujets ouverts concernant les formulaires, mais je n'ai pas trouvé.
J'ai créé un formulaire qui fonctionne très bien, et qui permet aux membres de mon forum de déposer une candidature en remplissant certaines informations demandées, et ainsi créer un nouveau sujet.
Jusque là, rien de très compliqué, tout fonctionne parfaitement bien.
J'ai cependant un autre besoin, celui d'utiliser un formulaire équivalent, mais non pas pour créer un nouveau sujet mais pour ajouter une réponse à un sujet existant. Et là ça se complique légèrement.
Voici le code de ma page HTML :

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<style type="text/css">
h3 {
font-family: "Comic Sans MS", "Trebuchet MS", Georgia, serif;
font-size: 16px;
}
table {
font-family: "Comic Sans MS", "Trebuchet MS", Georgia, serif;
font-size: 11px;
}

</style>

</head>

<body>

<script type="text/javascript">

function envoiMessage(form) {
// Créer un message à partir des informations fournies

var txt_message = "<fieldset><strong>Nom du personnage</strong> " + form.personnage.value + '\n'
+ "<strong>Pseudo IG :</strong> " + form.pseudo.value + '\n'
+ "<strong>Classe :</strong> " + form.classe.value + '\n'
+ "<strong>Niveau :</strong> " + form.level.value + '\n'
+ "<strong>Métier :</strong> " + form.metier.value + '\n'
+ "<strong>Niveau de la compétence :</strong> " + form.competence.value + '\n'
+ "</fieldset><br /><br />";

form.message.value = txt_message;
}
</script>

<h3>Ajouter un personnage ayant la compétence Alchimie</h3><br>

<form action="/post" method="post" name="post" enctype="multipart/form-data" onSubmit="envoiMessage(this)"  target="_parent">

<input type="hidden" name="lt" value="" />
<input type="hidden" name="mode" value="reply" />
<input type="hidden" name="topictype" value="0" checked="checked" />
<input type="hidden" name="message" value="" />
<input type="hidden" name="username" value="" />
<input type="hidden" name="t" value="152" />
<input type="hidden" name="subject" value="Nouveau personnage" />

<table><tbody><tr><td><label for="personnage">Nom du personnage : </label></td><td><input size="20" name="personnage" id="personnage" type="text"></td></tr><tr><td><label for="level">Niveau : </label></td><td><input size="2" name="level"  id="level" type="text" /></td></tr><tr><td><label for="classe">Classe : </label></td><td><select name="classe" id="classe"><option>Templier</option><option>Gladiateur</option><option>Clerc</option><option>Aède</option><option>Rôdeur</option><option>Assassin</option><option>Sorcier</option><option>Spiritualiste</option></select></td></tr><tr><td><label for="metier">Métier : </label></td><td><select name="metier" id="metier"><option default>Alchimie</option><option>Arme</option><option>Armure</option><option>Artisanat</option><option>Couture</option><option>Cuisine</option></select></td></tr><tr><td><label for="competence">Niveau de compétence : </label></td><td><select name="competence" id="competence"><option>< 300</option><option>Expert</option><option>Maitre</option></select></td></tr></tbody></table><table><tr><td>

<tr><td><input name="post" value="Envoyer" type="submit"></td></tr></table><br>

</form>

</body>
</html>

Ce code est adapté de tutoriel disponible à cette adresse :

http://forum.forumactif.com/t280246-formulaire#2492238

Donc, mon formulaire, je voudrais qu'il rajoute une réponse au sujet 152, mais quand je clique sur Envoyer, il me remplit bien le sujet mais pas le corps du message, ce qui fait qu'il n'ajoute pas de réponse au sujet.

Pouvez vous m'éclairer ? Je n'arrives pas à trouver l'erreur.

Merci d'avance pour vos réponses !

EDIT : J'ai corrigé la moitié de mon problème. Dans mon Javascript, j'appelle une variable qui n'est pas définie dans le formulaire, je l'ai donc retiré, et la création du message fonctionne... Ou presque ?

Voici le nouveau message que j'ai :

Code:
Un nouveau message vient d'être ajouté pendant que vous écriviez le votre.
Vous pouvez consulter les derniers messages postés ci-dessous et ainsi décider si vous voulez le modifier ou l'enregistrer.

Je pense qu'il faut définir quelque part l'ID du dernier message posté, mais je ne trouve pas où le faire...


Dernière édition par sipherion le Jeu 29 Déc 2011 - 10:41, édité 1 fois

sipherion
*

Masculin
Messages : 44
Inscrit(e) le : 08/04/2008

http://forsakens-evo.ultimaterpg.net
sipherion a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Formulaire pour "Répondre à un sujet"

Message par sipherion le Mar 27 Déc 2011 - 14:32

Pour mettre sur la voie :

Code:
<input type="hidden" name="lt" value="" />

C'est ici que tout se joue puisqu'apparemment ce "lt" serait l'ID du dernier message posté ; si ce nombre est différent de ce qu'il devrait, le système informe qu'il y a eu un autre message entre temps.

Ma question : comment je peux, lors du chargement du formulaire, récupérer l'ID du message précédent afin de pouvoir y ajouter une réponse sans avoir à confirmer ?

sipherion
*

Masculin
Messages : 44
Inscrit(e) le : 08/04/2008

http://forsakens-evo.ultimaterpg.net
sipherion a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Formulaire pour "Répondre à un sujet"

Message par Scoubifitz le Mar 27 Déc 2011 - 17:06


Scoubifitz
+ Hyperactif +

Masculin
Messages : 3539
Inscrit(e) le : 18/03/2008

http://scoubidous.superforum.fr/
Scoubifitz a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Formulaire pour "Répondre à un sujet"

Message par sipherion le Jeu 29 Déc 2011 - 10:41

Ok, maintenant cela fonctionne, dommage que je n'ai pas trouvé l'information par moi même ! L'utilisation de formulaires est très présente sur Forumactif, je pense qu'un petit tutoriel complet et propre qui parle du sujet et de ses différentes possibilités serait le bienvenu.
Merci encore, bonnes fêtes également !

sipherion
*

Masculin
Messages : 44
Inscrit(e) le : 08/04/2008

http://forsakens-evo.ultimaterpg.net
sipherion a été remercié(e) par l'auteur de ce sujet.

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


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