Comment faire une question avec réponse saisie detypechiffre

Résolu/Fermé
LG - 3 mars 2022 à 11:34
 LG - 6 mars 2022 à 13:53
Comment faire une question avec réponse saisie de type chiffre, et donc également afficher le résultat? Après avoir longuement cherché sur le web, je n'ai rien trouvé. Pourriez-vous m'aider?

Voici le code HTML que j'ai essayé d'utiliser :

<form name="qcm3">
<input type="number" name="saisie">
<input type="button" name="bouton3" value="Vérifier" onclick="résultat3N(document.qcm3.saisie,'415',+0.checked)">

</form>

Et voici le code java :

function résultat3(){
if (document.qcm3.saisie,'415',+0.checked)
alert('Bonne réponse.')
else alert('Réponse fausse.');
}
A voir également:

5 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 mars 2022 à 09:57
Bonjour,

Déjà.. évite de créer plusieurs fois la même question sur le forum..

Ensuite..
en JS, utilise plutôt des ID au lieu des NAME dans ton html
<form name="qcm3">
<input type="number" id="saisie">
<input type="button" name="bouton3" value="Vérifier" onclick="verif('saisie','415')">
</form>

et côté js
   function verif(idAverifier,bonnevaleur){
     let valAverfifier = document.getElementById(idAverifier).value
     if(valAverfifier == bonnevaleur ) {
      alert('Bonne réponse.')
     }else{
       alert('Réponse fausse.');
     }
   }
1
Merci énormément vous me sauvez!
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
3 mars 2022 à 21:46
Bonjour,

Déjà.. pour poster du code sur le forum tu dois utiliser les balises de code.
Explications ( à lire entièrement ! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, tu parles de JAVA .. sauf que.. c'est du JAVASCRIPT .. ( ce sont deux langages différents ! )

Et pour finir ... ben.. on ne comprend pas vraiment ta question.

Je remarque tout de même que tu as utilisé des caractères accentués dans ton code .. il ne faut pas.
Je suppose que si tu regardais dans la console de ton navigateur internet tu y verrais des messages d'erreur.
Par exemple, tu appelles ta fonction " "résultat3N" (ici tu as mis un é ... remplace le par un e ) en lui passant des paramètres .... mais dans la déclaration de ta fonction (qui n'a pas totalement le même nom d'ailleurs.. ( il manque un N ).. celle ci n'attend aucun paramètre...
Ton if me semble également faut ... je ne vois pas vraiment ce que tu cherches à vérifier...






0
SnoopDoggySnoopy
4 mars 2022 à 01:05
Salut,

ouvrez aussi la console pour afficher les erreurs qui sont nombreuses, en fait il n'y a pas une ligne de code de juste...
ce qui est indiqué dans la console du navigateur et vous aidera à corriger(débogage).

voir aussi comment accéder aux éléments de la page en HTML, avec des ID c'est mieux qu'avec l'attribut NAME.

https://developer.mozilla.org/fr/docs/Web/API/Document/getElementById

Liste de vos erreurs:
onclick="résultat3N(document.qcm3.saisie,'415',+0.checked)"> 

Un nom de fonction ou variable ne peut comprendre de caractères accentuées ni commencer par un nombre.
Comment avez vous appris à écrire le langage JavaScript (à ne pas confondre avec Java) parce qu'il faudrait commencer par là au lieu d'improviser des choses qui sont fausses...et qui donc ne pourront fonctionner!
Même chose vu que vous mettez des arguments dans l'utilisation de votre fonction séparés par des virgules ceux ci doivent être décris dans la création de la fonction. Hors ce n'est pas le cas:
//--une fonction sans paramètres:
function maFonction(){
alert('une fonction sans paramètres, donc les parenthèses seront toujours vide')
}
//-- une fonction avec paramètres
function maFonctionAvecParametres( nom){
alert('une fonciton avec paramètres indique que le nom est '+nom)
}
/** remarquez aussi au passage qui dans le cadre d'une <souligne>chaînes de caractères</souligne> le signe '+' est un opérateur de concaténation : il sert à 'ajouter' un texte à un autre
Vous utilisez le signe +(plus) dans votre programme mais d'aucune des façons possible(ni une addition numérique (exemple: 1+2) ni en opérateur de concaténation...donc ça n'existe pas et le programme renvoi simplement une erreur parce qu'il ne sait pas faire des chose qui n'existent pas.
 */

Vous indiquez bien que vous ne 'passez' aucune valeur à votre fonction(ce qui n'empêche pas de les récupérer dans le 'corps' de la fonction


Ensuite vous si vous comprenez que Bob et Marcel sont des noms différents vous comprendrez aussi que =resultat3 et resultat3N sont différents.
Trouver la correction sur les fonctions:
https://duckduckgo.com/?t=ffab&q=javascript+les+fonctions

autres erreurs listés ci dessous:
function résultat3(){ 
//-- resultat3 mais pas résultat3 ni résultat3N

if (document.qcm3.saisie,'415',+0.checked)
/** erreurs mauvaise syntaxe et non comparaison (rien n'est juste entre les parenthèses et les valeurs que vous utilisez n'existe pas!)
*erreur 1) euh vous savez à quoi correspond un IF ? 
*ça veut dire SI en programmation donc attend la comparaison de deux expressions(ou valeurs)
Il y a des opérateurs de comparaison à utiliser donc et vous mettez dans les parenthèses du IF des virgules qui ne peuvent pas exister
*/
/** 
voir première remarque sur les sélecteurs d'éléments HTML par le DOM
document.qcm3 n'existe pas, en tout cas ne s'écrit pas comme cela) ni même document.qcm3.saisie ne correspond à rien dans le programme(une valeur nulle donc inutilisable) voir aussi la getElementsByTagName qui est moins aisé à utiliser que getElementById (et moins propre aussi pour d'autres raisons) car renvoi un tableau de valeurs et non une valeur unique
*/
alert('Bonne réponse.')
/** voir comment fonctionne un IF en JavaScript, vous ne fermez pas l'accolade donc l'instruction contenur dans le IF n'est jamais terminé...ce qui bien sûr est un problème et une erreur*/
else alert('Réponse fausse.');
/* même remarque que pour les accolades pour le IF votre syntaxe est fausse et donc les instructions fournies au programme ne peuvent pas fonctionner!
*/
} 


Vous devez comprendre que la moindre faute, oubli de virgule ou espace mal placé, provoque une erreur(parce que le programme ne sait rien et qu'il faut tout lui expliquer et là vous expliquez de manière fausse). La syntaxe et l'écriture est donc importante et la précision de celles ci doivent être absolue.
Tout ça fait fumiste commencez par apprendre des bases du langage que vous utilisez parce que votre écriture est farfelue et ne peut amener à aucun résultat ou même un programme qui affiche autre chose que vos erreurs...

"Après avoir longuement cherché sur le web, je n'ai rien trouvé. "
Vous avez mal cherché alors!

liens pour comprendre:
comparaison avec IF ELSE
https://duckduckgo.com/?q=javascript+IF+ELSE

La console du navigateur pour JavaScript
https://duckduckgo.com/?t=ffab&q=la+console+du+navigateur+javascript


Ou même commencez par le début, une recherche apprendre JavaScript/la programmation/ comment fonctionne le DOM JavaScript donc vous n'avez visiblement aucune idée correcte.
Éventuellement l'utilisation des formulaires et les sélecteurs du DOM.

https://lizengo.fr/programmation/selecteurs-dom-comment-utiliser/

ps: aucune méchanceté mais des conseils pour vous améliorer(ou simplement réussir où vous échouez), à vous de voir comment vous prenez la critique de vos compétences en JavaScript, rester humble et connaître ses erreurs est une bonne façon, d'apprendre et progresser selon moi.
0
il y a des erreurs que je n'ai pas listées(car il y e a trop et que vous pouvez repartir de 0 ça sera mieux),
par exemple à quoi correspond 0.checked?
Cela n'a aucun sens non plus et l'attribut checked existe bien en, JavaScript(notation pointée qui correspond à la structure objet) mais correspond à un élément de formulaire HTML nommé checkbox(case à cocher en français).

https://www.javascripttutorial.net/javascript-dom/javascript-checkbox/

N'ayant pas de checkbox dans votre code cela est incohérent (nul au niveau de sa valeur, donc faire des calculs ou autre chose avec des valeurs nulle est simplement impossible).
Et bien sûr 0.checked ne peut correspondre à rien sauf une erreur.
0 est un nombre et n'a donc aucune valeur checked(qui correspond à quelle case est cochée dans une liste de cases à cocher).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour, merci pour vos réponses, je suis en seconde et je dois réaliser une page Web, je connais suffisamment les langages HTML et CSS, mais il est vrai que je ne connais pas le JavaScript. J'aimerais vérifier la réponse (en chiffres) saisie par l'utilisateur à une question d'un exercice et afficher Vrai ou Faux.

Quelle est la valeur de J ?

Réponse : 415 Vrai et par exemple pour 200 faux.


J'essaie de faire un exercice du même style que cette page : https:,,www.mathematiquesfaciles.com,chiffres-et-nombres_2_64520.htm
0