Contrôle de Checkbox

cs_chucky Messages postés 6 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 10 décembre 2003 - 18 févr. 2003 à 09:31
cs_chucky Messages postés 6 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 10 décembre 2003 - 19 févr. 2003 à 09:41
Bonjour,

J'ai développé une interface en asp proposant des quizz avec entre autre des propositions de réponse via des "checkbox".

Tout fonctionne bien mais il y a des questions qui exige plusieurs propositions de réponse cochées pour obtenir la note maximale à la question (checkbox obligatoire).........ça marche très bien mais la faille est que si l'utilisateur coche toute les réponses proposées (bonne et fausse), il obtient le maximum des points à la question quand même.

J'essaie de faire une comparaison entre le nombre de réponse proposée et le nombre de réponses cochées pour le verrouillage........le pb est que mes compétences en javaScript sont minables et ce verrouillage n'est pas possible sur ma page asp qui traite le quizz validé par l'utilisateur.

Quelqu'un aurait-il une solution ?

merci d'avance. :dissapprove)

3 réponses

cs_chucky Messages postés 6 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 10 décembre 2003
18 févr. 2003 à 11:55
COMPLEMENT DU MESSAGE :

Le javascript trouvé et qui fonctionne bien mais qu'avec qu'une seul question :

<script language="javascript">
var nb=0;
var max=<%=NbreReponse%>-1;
function compte(coche)
{
if (coche.checked==true){nb=nb+1;}
if (coche.checked==false){nb=nb-1;}
if (nb>max) {nb=nb-1;coche.checked=false;alert('pas plus de '+max);}
}
</script>

Le soucis est que dès que je rajoute d'autres question ma valeur <%=NbreReponse%> (=le nbre de propositions de réponse pour la question)correspond toujours au nbre de la dernière question posée............je n'arrive pas à stocker ce fameux nbre pour chaque question...

Aurait-il une bonne âme pour me sortir de cette m.... ?

:dissapprove) :dissapprove) :dissapprove)
0
cs_micki Messages postés 9 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 20 février 2003
18 févr. 2003 à 18:02
je comprends pas trop ta question

mais si tu veux faire un test sans que l'utilisateur devine les reponses en regardant le code (si tu utilises javascript) tu doit le faire dans la page asp qui traite la reponse.

si chaque reponse a un nombre binaire 1,2,4,8,16,32...... stockée dans val, tu sais faire une comparaison avec la reponse qui contient la somme de ces nombres et il n'y a qu'une seule possibilite.

ex

reponse 1 et 3 donne 5

si l'utilisateur repond 1 et 2 cela donne 3

si l'utilsateur repond 1,2 et 3 cela done 7

si cela peut te convenir, je peut t'expliquer comment traiter plus en profondeur
0
cs_chucky Messages postés 6 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 10 décembre 2003
19 févr. 2003 à 09:41
Bonjour Micki,

En fait mon gros soucis lorsque je propose entre autre des question demandant des réponses multiples est que je veux interdire pendant le déroulement du quizz de cocher toutes les cases proposées d'une question puisque cela permet d'obtenir à coup sûr le maximum des points à la question et ce sans réfléchir.

Le quizz est évidement dynamique donc le stagiaire n'a pas accès aux réponses dans la source.

Ma page de traitement asp ne fait qu'écrire dans la base les réponses sélectionnées pour chaque question (bouton radio, case à cocher, champs de saisie...) et par conséquent je ne dispose pas d'une part de toutes les informations nécessaires pour ce verrouillage et, d'autre part, ce traitement impliquerait un retour sur le quizz pour le modifier (perte de temps pour l'utilisateur)

Il est vrai que le script dispo sur ce forum est très bien lorsqu'il y a qu'une seule question.........et c'est le stockage du nbre de réponses dispo par question que je n'arrive pas à stocker........je dois avoir un pb dans ma boucle...........je crois que je vais être obligé de stocker dans ma base cette information par question en modifiant la structure de ma base.

En tout cas merci pour ta réponse, et si tu as une solution n'hésite surtout pas
0
Rejoignez-nous