AccueilDernières imagesRechercherS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.

Le Deal du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

    Formulaire automatique

    Slyd
    Slyd
    MasculinAge : 33Messages : 25

    Sam 4 Juin 2016 - 20:21

    Ma demande



      Salut, 
    J'espère être au bon endroit. 
    Je cherche à créer un formulaire automatique sur mon forum. Il servirait à faire des candidatures pour entrer dans une team. Une fois le formulaire remplit, le message se mettrait au bon endroit sur le forum, avec un nom de sujet du type " Candidature de XXX ".
    J'aimerai, si possible que ce formulaire soit accessible par deux moyens: un bouton qui serait en dessous de la barre de navigation du forum. Et sur le bouton "nouveau" de la catégorie du forum ou iront les candidatures.


      Schéma(s) et Eléments
     
      Adresse du forum: http://spamteam.forumactif.org/forum  
      Formulaire souhaité: 
    Spoiler:

    Autres: Si possible, le titre du message posté apèrs avoir remplis le formulaire se mettrait sur la forme suivante: [Road] Candidature de XXX , ou [Dirt] Candidature de XXX.
    Cela en fonction du choix qu'il ferait dans la partie environnement du formulaire.


      Ressources
      C'est clairement libre. Mais si possible que ce soit esthétique, sobre, et simple Very Happy 


    Merci d'avance.
    S'il manque des informations, ou précisions, je serais actif pour les donner rapidement Wink


    Dernière édition par Slyd le Lun 13 Juin 2016 - 19:29, édité 2 fois
    Slyd
    Slyd
    MasculinAge : 33Messages : 25

    Mar 7 Juin 2016 - 20:03

    Personne pour m’aider ? Sad
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Mar 7 Juin 2016 - 20:19

    Coucou Slyd !

    Comme on est en période d'examen, beaucoup de gens sont occupés ces temps ci :/

    Je ne viens pas pour prendre la demande, juste poser une petite question pour être sûre, le message posté doit ressemblé à celui sous spoiler ou bien il y a un code en plus ?

    Seconde question, pour les Oui / non, tu préfères une liste déroulante ou bien des input de type radio ?

    Exemple :


    Par contre, ton sujet a l'icone "En cours" cochée, ce n'est pas normal je crois. Normalement, elle indique qu'un codeur a déjà pris la demande de libre service :)
    Pour modifier ça il faut éditer ton premier message pour ne cocher aucun icone :p

    Slyd
    Slyd
    MasculinAge : 33Messages : 25

    Mar 7 Juin 2016 - 22:19

    Coucou, 

    Effectivement, j'ai oublié les périodes d'examens Sad 
    Je serais patient, pas de soucis. Et je ne viendrais pas relancer toutes les 48h non plus.

    Pour le code, un truc simple comme ce qu'affiche le spoiler suffit largement (au pire je pourrais me débrouiller pour modifier tout ça.

    Effectivement, les inputs que tu me proposes sont bien mieux présenté qu'une liste déroulante. Je remplace donc toutes les listes déroulante, par des inputs Wink 


    Enfin, pour pas te cacher. J'ai vraiment cherché pleins de formulaire déjà construit, pour reprendre la base et modifier dans mon contexte. 
    Seulement, j'ai toujours le même problème. Le message n'est pas récupéré pour être posté dans la bonne partie (il se passe rien quoi Sad ).

    Si tu as une bonne explication sous la main, je suis preneur, je peux peut être essayer d'avancer tout seul de mon côté Wink 

    Merci de ta réponse !

    Bonne soirée.


    Edit: autant pour moi pour l'icône Wink
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Mar 7 Juin 2016 - 22:53

    Est ce qu'on peut voir le code de ce que tu avais déjà fait s'il te plait ?
    Si c'est déjà bien avancé et qu'il manque juste un petit truc pour le faire marcher, ton topic sera peut-être déplacé dans "Problème avec mon code".
    Sinon, il faudra patienter que quelqu'un prenne ta demande de libre service :)

    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Sam 11 Juin 2016 - 5:49

    Salut!

    Bon, j'ai pas touché à la partie esthétique, je veux juste commencé par savoir si cela ressemble à ce que tu voulais.
    Formulaire : http://forum-test-onyx5.forum-canada.com/h8-essaie-formulaire
    Message posté après avoir rempli le formulaire : http://forum-test-onyx5.forum-canada.com/t76-road-candidature-de-onyx#89



    Slyd
    Slyd
    MasculinAge : 33Messages : 25

    Sam 11 Juin 2016 - 19:30

    Salut,

    Pour répondre à Nihill, non je n'avais rien commencé.

    Ouai Onyx, c'est exactement ça Very Happy 
    S'il y a possibilité d'agrandir le nombre de caractère pour les réponses. Ou agrandir les cases, mais ça à mon avis, c'est juste une variable à modifier, ça doit pas être bien compliqué Very Happy 

    En tout cas, merci à toi Wink 

    Après, pour l'aspect graphique, je peux te laisser libre. Faut pas un truc de folie. Juste être sobre et simple, ça suffit Wink 
    Tu as l'adresse de mon forum dans mon premier message Wink
    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Dim 12 Juin 2016 - 0:38

    Bouh!

    C'est mieux comme ça?
    http://forum-test-onyx5.forum-canada.com/h8-essaie-formulaire

    Sinon, je suis en train de bosser pour mettre le lien sur le "nouveau" et rajouter un bouton sous la navigation Wink
    Edit: Le lien sur le bouton nouveau est fait.
    Edit: Le bouton sous la navigation est fait.

    D'ailleurs, le bouton sous la navigation est rajouté juste sur la page d'accueil seulement ou sur toutes les pages?

    Enfin, j'ai mis une vérification des champs pour que le formulaire ne puisse pas être posté si on a laissé des champs vides. Est-ce qu'il y a des champs non obligatoires?



    Slyd
    Slyd
    MasculinAge : 33Messages : 25

    Dim 12 Juin 2016 - 11:02

    Ouahou, c'est bien comme ça :) Bravo à toi. 

    Pour le bouton en dessous, oui ce serait sur toutes les pages si possible Wink 

    Pour les champs vides, seuls les deux derniers ne sont pas obligatoires: Hobbies, et  " décrit toi en quelques mots".

    En tout cas, bravo, c'est du beau boulot :) 
    Merci vraiment Wink
    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Dim 12 Juin 2016 - 20:08

    Salut! Si c'est bon, je te file les codes ^^


    La première chose à faire, c'est de créer une page HTML. Donc tu vas dans :
    > Panneau d'administration
    > > Modules
    > > > HTML et Javascript
    > > > > Gestion des pages HTML

    Et tu cliques sur "Création en mode avancé (HTML)". D'ailleurs, je précise que tu dois toujours fonctionner en mode "HTML", que cela soit pour la création ou si tu veux faire des modifications par la suite (l'engrenage sur lequel il est écrit HTML).

    Bref, une fois sur la page de création, tu entres un titre à la page, puis tu colles ceci dans le contenu de la page :
    Code:
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8" />
      <meta name="author" content="Onyx" />
      <title>Fiche de recrutement</title>
      <style type="text/css">
        body {
        margin: 0px;
        background-color: #010101;
        color: #c4c4c4;
        font-family: 'Verdana';
        font-size: 13px;
        }
        #recrutform {
        background: url('http://img4.hostingpics.net/pics/412451forumlinefond.jpg');
        box-shadow: 1px 1px 2px #6FEC53;
        margin: auto;
        margin-top: 10px;
        margin-bottom: 10px;
        border-radius: 10px;
        width: 710px;
        padding: 10px;
        }
        #recrutformin {
        background-color: #242424;
        padding: 10px;
        border-radius: 10px;
        }
        h1, h2 {
        text-align: center;
        font-family: 'Verdana';
        font-size: 28px;
        font-weight: normal;
        text-decoration: underline;
        }
        h2 {
        font-size: 20px;
        }
        input[type="text"], textarea {
        display: inline-bloc;
        margin-top: 3px;
        background-color: #353535;
        color: #a3a3a3;
        padding: 5px;
        border: none;
        border-radius: 5px;
        box-shadow: inset 2px 2px 2px #101010, inset -2px -2px 1px #303030;
        font-size: 13px;
        font-family: 'Arial';
        }
        input[type="radio"] {
        display: inline-bloc;
        margin-top: 3px;
        vertical-align: bottom;
        }
        input[type="submit"] {
        text-align: center;
        display: block;
        margin: auto;
        font-weight: bold;
        background-color: #353535;
        color: #dfdfdf;
        padding: 5px;
        border: none;
        border-radius: 5px;
        padding-left: 10px;
        padding-right: 10px;
        border: 1px solid #499b36;
        border-bottom: 2px solid #499b36;
        border-top: 2px solid #499b36;
        }
        input[type="submit"]:hover {
        cursor: pointer;
        background-color: #454545;
        box-shadow: 3px 3px 3px #101010;
        
        }
        textarea {
        width: 97%;
        height: 80px;
        }
        .redd {
          color: red;
        }
      </style>
      <script type="text/javascript">
        //<!--
          function envoiMessage(form) {
            var champs = document.getElementsByClassName("obligatoire");
            var total = 0;
            for (i=0; i<champs.length; i++) {
              var champvaleur = champs[i].value;
              if (champvaleur.length > 0) {
                total = total+1;
              }
            }
            if (total < champs.length) {
              alert("Tu dois remplir tous les champs obligatoires. You must answer all mandatory questions.");
              return false;
            }
            else {
              var environn = "Dirt";
              var compett = "Oui";
              var speakk = "Oui";
              if (document.getElementById('road').checked) {
                var environn = "Road"
              }
              if (document.getElementById('non').checked) {
                var compett = "Non"
              }
              if (document.getElementById('non2').checked) {
                var speakk = "Non"
              }
              var title_message = "[" + environn + "] Candidature de " + form.pseudo.value;
              form.titre.value = title_message;
              var txt_message =
                "<div class='bloc_recrut'>" +
                "<h1>[" + environn + "] Candidature de " + form.pseudo.value + "</h1>" + "<br />" +
                "<b>Prénom / First name</b><br />" + form.prenom.value + "<br />" + "<br />" +
                "<b>Ton âge / Your age</b><br />" + form.age.value + "<br />" + "<br />" +
                "<h2>IN - In Game</h2>" +
                "<b>Login / login</b><br />" + form.login.value + "<br />" + "<br />" +
                "<b>Pseudo / Nickname</b><br />" + form.pseudo.value + "<br />" + "<br />" +
                "<b>Environnement / Environment</b><br />" + environn + "<br />" + "<br />" +
                "<b>Ancien(s) pseudo(s) / Previous nickname(s)</b><br />" + form.oldpseudo.value + "<br />" + "<br />" +
                "<b>Ancienne(s) Team(s) / Previous team(s)</b><br />" + form.oldteam.value + "<br />" + "<br />" +
                "<b>Raisons de départ de ces teams / Reasons to leave my previous teams</b><br />" + form.raison.value + "<br />" + "<br />" +
                "<b>Si j'ai postulé simultanément dans d'autres teams et lesquelles ? / If I am still currently with another teams and which ones ?</b><br />" + form.simult.value + "<br />" + "<br />" +
                "<b>Ancienneté sur le jeu / Oldness TMN</b><br />" + form.ancient.value + "<br />" + "<br />" +
                "<b>Heures de connexions sur le jeu / Online times</b><br />" + form.heures.value + "<br />" + "<br />" +
                "<b>Fréquences de connexions au forum / Frequency connection forum</b><br />" + form.frequent.value + "<br />" + "<br />" +
                "<b>Pourquoi je souhaite devenir un Stupidos / Motivation to become a Stupidos</b><br />" + form.motiv.value + "<br />" + "<br />" +
                "<b>Savoir-faire à mettre au profit de la team / Know-how to put to the benefit of the team</b><br />" + form.skills.value + "<br />" + "<br />" +
                "<b>Le(s) membre(s) Spam que je connais / Which member(s) of Spam I know</b><br />" + form.spam.value  + "<br />" + "<br />" +
                "<b>Mon parrain / Member that convinced me to apply</b><br />" + form.parrain.value + "<br />" + "<br />" +
                "<b>Motivé pour les compétitions / Motivation for competitions</b><br />" + compett + "<br />" + "<br />" +
                "<b>Teamspeak3</b><br />" + speakk + "<br />" + "<br />" +
                "<h2>IRL - In Real Life</h2>" +
                "<b>Hobbies</b><br />" + form.hobbies.value + "<br />" + "<br />" +
                "<b>Moi en quelques mots / Me in a few words</b><br />" + form.descript.value +
                "</div>";
              form.message.value = txt_message;
              return true;
            }
          }
        //-->
      </script>
    </head>
    <body>
      <form id="recrutform" action="/posting.forum" method="post" name="post" enctype="multipart/form-data" onSubmit="return envoiMessage(this)">
        <div id="recrutformin">
          <input type="hidden" name="lt" value="0" />
          <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="f" value="171" />
          <input type="hidden" name="subject" id="titre" value="" />
          <h1>Fiche de recrutement / Recruitment model</h1>
          <br />
          <label for="prenom">Prénom / First name <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="50" name="prenom" id="prenom" /><br />
          <br />
          <label for="age">Ton âge / Your age (interdit aux moins de 16 ans / forbidden less than 16 years old) <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="30" name="age" id="age" /><br />
          <br />
          <br />
          <h2>IG - In Game</h2>
          <label for="login">Login / login <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="50" name="login" id="login" /><br />
          <br />
          <label for="pseudo">Pseudo / Nickname <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="50" name="pseudo" id="pseudo" /><br />
          <br />
          <label for="enviro">Environnement / Environment <span class="redd">*</span></label><br />
          <label for="environ1">Dirt</label> <input type="radio" name="environ" id="dirt" checked="checked" /><br />
          <label for="environ2">Road</label> <input type="radio" name="environ" id="road" /><br />
          <br />
          <label for="oldpseudo">Ancien(s) pseudo(s) / Previous nickname <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="90" name="oldpseudo" id="oldpseudo" /><br />
          <br />
          <label for="oldteam">Ancienne(s) Team(s) / Previous team(s) <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="90" name="oldteam" id="oldteam" /><br />
          <br />
          <label for="raison">Raisons de départ de ces teams / Reasons to leave your previous teams <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="90" name="raison" id="raison" /><br />
          <br />
          <label for="simult">As-tu postulé simultanément dans d'autres teams, si oui lesquelles ? / Are you still currently with another team, if yes which one ? <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="90" name="simult" id="simult" /><br />
          <br />
          <label for="ancient">Ancienneté sur le jeu / Oldness TMN (un an minimum / one year minimum) <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="50" name="ancient" id="ancient" /><br />
          <br />
          <label for="heures">Heures de connexions sur le jeu / Online times <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="70" name="heures" id="heures" /><br />
          <br />
          <label for="frequent">Fréquences de connexions au forum / Frequency connection forum <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="70" name="frequent" id="frequent" /><br />
          <br />
          <label for="motiv">Pourquoi souhaites tu devenir un "Stupidos" ? / Motivation to become a "Stupidos" <span class="redd">*</span></label><br />
          <textarea class="obligatoire" name="motiv" id="motiv"></textarea><br />
          <br />
          <label for="skills">Savoir-faire à mettre au profit de la team / Know-how to put to the benefit of the team <span class="redd">*</span></label><br />
          <textarea class="obligatoire" name="skills" id="skills"></textarea><br />
          <br />
          <label for="spam">Quel(s) membre(s) Spam connais-tu ? / Which member(s) do you know ? <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="90" name="spam" id="spam" /><br />
          <br />
          <label for="parrain">Qui est ton parrain (spam officiel) (le membre qui t'a convaincu de postuler) / Member that convinced you to apply ?  <span class="redd">*</span></label><br />
          <input class="obligatoire" type="text" size="50" name="parrain" id="parrain" /><br />
          <br />
          <label for="compe">Motivé pour les compétitions ? / Motivation for competitions ? <span class="redd">*</span></label><br />
          <label for="compet1">Oui</label> <input type="radio" name="compet" id="oui1" checked="checked" /><br />
          <label for="compet2">Non</label> <input type="radio" name="compet" id="non" /><br />
          <br />
          <label for="spea">Teamspeak3 ? <span class="redd">*</span></label><br />
          <label for="speak1">Oui</label> <input type="radio" name="speak" id="oui2" checked="checked" /><br />
          <label for="speak2">Non</label> <input type="radio" name="speak" id="non2" /><br />
          <br />
          <br />
          <h2>IRL - In Real Life</h2>
          <label for="hobbies">Hobbies</label><br />
          <input type="text" size="90" name="hobbies" id="hobbies" /><br />
          <br />
          <label for="descript">Décris-toi en quelques mots / Describe yourself in a few words</label><br />
          <textarea name="descript" id="descript"></textarea><br />
          <br />
          <br />
          <br />
          <input type="submit" name="post" value="Envoyer le formulaire" /><br />
        </div>
      </form>
    </body>
    </html>

    Le code a un champ caché qui permet d'indiquer sur quel sous-forum le message doit être posté. Il s'agit de ce champ :
    Code:
    <input type="hidden" name="f" value="171" />

    Si tu va sur le sous-forums où tu veux que les candidatures se postent, tu peux regarder dans l'adresse de la page yeb et tu verras un "f" suivi d'un nombre. Ce nombre devrait être "171", si je ne me suis pas trompée de sous-forum. Si j'ai fait une erreur, regarde quel est le nombre et remplace le "171" par ce nombre.

    Une fois que tout ça est fait, tu valides et enregistre la page.

    Puis, tu retourne sur la page de gestion des pages HTML. Ta page HTML se sera ajouté et il ne te restera plus qu'à prendre en note l'url de la page HTML que tu viens de créer. Cela nous sera utile pour ajouter le bouton de candidature et le lien sur les boutons "nouveau" du sous-forum des candidatures.

    Ensuite, tu te diriges vers les javascripts pour ajouter les boutons :
    > Panneau d'administration
    > > Modules
    > > > HTML et Javascript
    > > > > Gestion des codes Javascript

    Tu t'assures que tu as coché "Oui" à "activer la gestion des codes Javascript". Sinon, tu le fais et tu enregistre.

    Puis, tu crée un nouveau javascript.
    Tu met un titre quelconque.
    Tu choisis l'affichage "sur toutes les pages".

    Et tu colles ceci dans le contenu :
    Code:
    /*Attendre le chargement de la page*/
    $(function(){

      /*Lien vers le formulaire*/
      var changea = "URL DE LA PAGE HTML DU FORMULAIRE DE CANDIDATURE";

      /*On trouve la navigation et on ajoute le bouton pour se rendre sur le formulaire*/
      $("#search_menu").closest("table").after('<div class="bouton_recrut"><a href="' +
      changea + '">Postuler pour faire partie de la team</a></div>');

      /*On regarde si on est sur le sous-forum des candidatures*/
      if ($(location).attr("href") == "URL DE LA PAGE WEB DU SOUS-FORUM DES CANDIDATURES") {

        /*Si on y est on change le lien des boutons nouveau pour le lien vers le formulaire*/
        $("#i_post").parent().attr("href", changea);
        $("#i_post1").parent().attr("href", changea);
      }
    });

    Puis, à la place de URL DE LA PAGE HTML DU FORMULAIRE DE CANDIDATURE, tu mets le lien de la page HTML que tu viens juste de créer et que tu as noté tout à l'heure.
    Enfin, à la place de URL DE LA PAGE WEB DU SOUS-FORUM DES CANDIDATURES, tu mets le lien qui est dans la barre d'adresse quand tu es sur le sous-forum des candidatures.

    Tout ce qu'il te reste à faire, c'est de rajouter le CSS et c'est fini :
    Code:
    .bloc_recrut {
      color: #ffffff;
      font-family: 'Verdana';
      font-size: 12px;
    }
    .bloc_recrut h1, .bloc_recrut h2 {
      text-align: center;
      color: #ffffff;
      font-family: 'Verdana';
      font-size: 28px;
      font-weight: normal;
      text-decoration: underline;
    }
    .bloc_recrut h2 {
      font-size: 20px;
    }
    .bouton_recrut /*Bouton de candidature*/ {
      margin: auto;
      text-align: center;
    }
    .bouton_recrut a /*Lien du bouton de candidature*/ {
      display: inline-block;
      margin-top: 10px;
      margin-bottom: 5px;
      background-image: url('http://img4.hostingpics.net/pics/412451forumlinefond.jpg');
      background-repeat: repeat;
      border-radius: 8px;
      box-shadow: 1px 1px 2px #6FEC53;
      font-size: 10px;
      font-weight: 700;
      padding: 5px;
      font-size: 13px;
      color: #f5f5f5;
      font-family: 'Verdana', 'Arial', 'Helvetica', 'sans-serif';
    }



    Slyd
    Slyd
    MasculinAge : 33Messages : 25

    Dim 12 Juin 2016 - 22:05

    Hey,

    Merci beaucoup de ta part de ton aide Wink 

    J'ai juste un problème pour le bouton sous la navigation.
    je l'ai installé sur un forum test, mais il ne s'affiche pas correctement Sad 

    http://testslyd.forumactif.org/forum


    PS: autant pour moi, j'avais pas vu le CSS. La fatigue Sad 
    Merci à toi Very Happy
    Contenu sponsorisé


      La date/heure actuelle est Ven 22 Nov 2024 - 21:51