IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Script caleur calculé radio bouton


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 156
    Par défaut Script caleur calculé radio bouton
    Bonjour,

    Je suis utilisateur sharepoint et je veux me lancer dans le js Mais je sais pas trop comment faire en faite j'ai 4 valeurs soit suffisant, plutot suffisant, insuffisant et non applicable pour chaque champ(j'en ai 10 )
    je voudrais que quand le champ est égale à par exemple à insuffisant qu'il est un compteur à qui on ajoute 1.
    A la fin je dois avoir 4 compteurs et celui qui est le plus grand la valeur sera associé à un autre champ(appréciation général) qui renvoie la valeur la plus récurrente

    Quelqu'un peut m'orienter merci d'avance

  2. #2
    Membre chevronné Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Par défaut
    Bonsoir,

    tu parles d'une sorte de questionnaire?
    Dans ce cas, je vois bien les boutons radio si une seule réponse est autorisée ou les checkbox dans le cas où plusieurs réponses sont autorisées.

    ensuite il faut affecter des points à chaque réponse:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <form id="monFormulaire">
    <span>Texte de la question 1</span>
    <br />
    <label>texte de la réponse 1a</label><input type="radio" name="question_1" class="question_1" value="0"/><!-- non applicable -->
    <label>texte de la réponse 1b</label><input type="radio" name="question_1" class="question_1" value="1"/><!-- insuffisant -->
    <label>texte de la réponse 1c</label><input type="radio" name="question_1" class="question_1" value="2"/><!-- plutôt suffisant -->
    <label>texte de la réponse 1d</label><input type="radio" name="question_1" class="question_1" value="3"/><!-- suffisant -->
    <br />
    <span>Texte de la question 2</span>
    <br />
    <label>texte de la réponse 2a</label><input type="radio" name="question_2" class="question_2" value="0"/><!-- non applicable -->
    <label>texte de la réponse 2b</label><input type="radio" name="question_2" class="question_2" value="1"/><!-- insuffisant -->
    <label>texte de la réponse 2c</label><input type="radio" name="question_2" class="question_2" value="2"/><!-- plutôt suffisant -->
    <label>texte de la réponse 2d</label><input type="radio" name="question_2" class="question_2" value="3"/><!-- suffisant -->
    <br />
    <!-- répéter autant qu'il y a de questions restantes -->
    <input type="button" onclick="checkForm();"
    </form>
    <script type="text/javascript">
    function checkForm() {
            var nbQuestions=10;
            var compteur=0;
            for (var i=1; i<=nbQuestions; i++) {
                      var rep=document.querySelector(".question_"+i+":checked");
                      if (rep) {
                                 compteur+=parseInt(rep.value, 10);
                      } else {
                                alert("veuillez répondre à la question "+i+" s'il vous plaît!");
                                return false;
                      }
            }
            // faire quelque chose avec compteur qui contient désormais le nombre de points obtenus si toutes les réponses ont été choisies
    }
    </script>
    reste à adapter ce code en faisant des associations type de réponses ou type de questions <-> compteurs en fonction de la catégorie, tu peux utiliser les tableaux associatifs pour ça
    par exemple tu peux mettre comme valeur A1 pour obtenir un point dans la catégorie A, ou C2 pour obtenir 2 points dans la catégorie C, reste à découper la réponse, en faisant:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cat=rep.value.substr(0,1);
    points=parseInt(rep.value.substr(1), 10);
    compteur[cat]+=points;
    à condition d'avoir initialisé bien sûr les quatre compteurs à 0...

    bon courage!

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 156
    Par défaut
    Merci mais le input est surligné comme une erreur :/

    Voici mon code:

    Nom : aide_radio2.PNG
Affichages : 138
Taille : 152,8 Ko



    du coup je pensais faire un code qui prend les id ou les name mais je ne sais pas si le jquerry serai plus adapté.

    Sachant que dans l'id pour la meme valeur c'est le ct10... qui change et pour un autre champ c'est ctl00_m_g_4ba4f0c0_02f9_483a_9e14_dccc503f153f_ff1... ..._ctl00_ctl00 qui change c'est pour ça que c'est compluiquer le code pour moi déja que j'ai jamais fait xD

    Et voici le rendu html avec le DOM:
    Images attachées Images attachées   

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 107
    Par défaut
    Salut,

    J'ai fait ce petit script en JQuery pour le compteur de réponse, je n'exploite pas le résultat pour le moment :
    https://jsfiddle.net/9hnuabjp/3/

    Ca évite d'avoir à utiliser le "name" de tes boutons radios, ce qui simplifie vu que c'est généré par SharePoint.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 156
    Par défaut
    Merci

    Mais j'ai mis mon script dans un fichier puis j'ai mis le lien aussi que les span pour voir comment ça marche mais les valeurs ne change pas elle reste à 0000 :/ je dois modifier quelque chose par rapport à sharepoint ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 107
    Par défaut
    As-tu chargé JQuery ?

    J'ai fait une petite modification dans le code. Je te laisse tester ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    var rep= [0,0,0,0];
    $(function() {
     
    update_result();
     
    $('input[type=radio]').mousedown(function(){
        var radio = $(this).prop("name");
    	if($("input[name="+radio+"]:checked").length != 0) {
           	var old_val = $("input[name="+radio+"]:checked").val();
            rep[old_val]--;
         }
    }).change(function() {
        var radio = $(this).prop("name");
        console.log($("input[name="+radio+"]:checked"));
        var new_val = $("input[name="+radio+"]:checked").val()
        rep[new_val]++;
        update_result()
    }); 
    })
     
    function update_result() {
    	$("#TS").empty().html(rep[0]);
        $("#S").empty().html(rep[1]);
        $("#I").empty().html(rep[2]);
        $("#TI").empty().html(rep[3]);
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon script pour Tester un bouton radio ne fonctionne pas.
    Par Invité dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 10/06/2011, 00h39
  2. probleme avec les radio bouton
    Par zola dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/06/2005, 09h52
  3. [Scripts] Comment avoir les boutons style XP
    Par Didier69 dans le forum Général Dotnet
    Réponses: 26
    Dernier message: 18/05/2005, 15h28
  4. Récupérer la valeur d'un radio bouton
    Par Batizme dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h33
  5. Radio-boutons
    Par akaii dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2004, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo