Je souhaite stocker la réponse correcte (option) et les 3 autres options. Mais pour les 3 autres options, je stockerai ceux de la base de données disant is_correct (colonne) 0 / non / faux. Mais pour cela, je vais devoir avoir une telle logique qui déterminera quel bouton radio est pour lequel champ de saisie. Comment puis-je lier / mapper un champ d'entrée radio à un champ de saisie de texte?
Je peux, extraire des valeurs hors de ces éléments mais ne peut pas comprendre la logique. P>
<div id="option" class="form-group">
<input type="radio" name="option" required/><input type="text" name="option_1" required/><br/><br/>
<input type="radio" name="option" required/><input type="text" name="option_2" required/><br/><br/>
<input type="radio" name="option" required/><input type="text" name="option_3" required/><br/><br/>
<input type="radio" name="option" required/><input type="text" name="option_4" required/>
</div>
3 Réponses :
Je pense d'abord que vous devriez utiliser l'attribut code> code> des radiobuttons au lieu de la deuxième entrée, il suffit de mettre le texte dans une étendue ou une étiquette:
var selectedOption = null;
if (document.getElementById('option1').checked) {
selectedOption = document.getElementById('option1').value;
}
Mais je dois d'abord stocker les options pour penser à vérifier s'il est correct ou non
Maintenant, je peux obtenir la valeur du bouton radio vérifié, mais comment créer une connexion entre le bouton radio vérifié et le champ d'entrée immédiat?
Tout d'abord, je ne comprends vraiment pas pourquoi vous utilisez des boutons radio qui étant dit, gardant la conception que vous avez faite: P> Html: p> javascript: p> si vous souhaitez modifier quelque chose ou tester votre cas de test exact, Voici le violon
Jfiddle .
Notez que j'utilise JQuery, juste pour la facilité de code, vous pouvez modifier la plupart des références JQuery vers EDIT2: strong>
Fiddle mis à jour avec des cases à cocher options simples:
JFIDDLE2 P> Document.getElementByID CODE> P>
Merci à vous travaille presque comme je voulais. Mais le problème est que si admin vérifie accidentellement deux boutons radio, il devra recharger la page à droite? Y a-t-il une solution à cela?
Oui, c'est le comportement attendu, si vous souhaitez autoriser l'utilisateur à se transformer de boutons, utilisez "Cochez la case" au lieu de boutons "radio". Je vais mettre à jour le jfiddle avec un pour les cases à cocher.
C'est une question multiple de réponse unique quiz. Je ne peux pas autoriser plusieurs chèques en premier lieu.
Alors vous voulez probablement une sélection? Mais pour garder votre conception, j'ai ajouté un nouvel événement JavaScript pour gérer la case à cocher Réponse unique. Le script désactive toutes les cases à cocher en cliquant, puis vérifiez celui que vous avez cliqué. Vérifiez Edit2 pour le violon.
Je n'aurai que 4 cases à cocher dans cette page quand même. Merci beaucoup pour votre temps.
Que diriez-vous au lieu de soumettre le formulaire avec des données de formulaire, vous soumettez une chaîne / objet JSON?
Donc, votre objet de question peut être quelque chose comme maintenant, de ce qui reste est de créer cet objet lorsque le bouton Soumettre est cliqué.
Pour ce faire, vous pouvez avoir des identifiants tels que p> ces éléments peuvent être créés de manière dynamique ou manuellement si vous faites la page juste pour une seule question. P> Maintenant, lorsque la touche let question = {};
question.question = $("#question").val(); //Assuming you are using jQuery and id for question input box is question.
question.options = [];
for(i=0; i<4; i++) {
let option = {};
option.name = (i+1); //convert to ascii if you want alphabets
option.value = $("#text-"+(i+1)).val();
option.isAnswer = $("#radio-"+(i+1)).checked;
question.options.push(option);
}
Merci pour votre temps
"est correct"...?
Si l'administrateur choisit une option pour être correcte. Ensuite, j'attribuerai ce champ is_correct = true / 1 dans la base de données
Est-ce un formulaire pour créer plusieurs questionnaires de choix ou un quiz à choix multiples?
Un quiz à choix multiple.
Juste une suggestion de conception: envisagez de stocker la réponse au lieu d'un état de correction booléen de la réponse. Vous en aurez peut-être besoin plus tard et en général, c'est une bonne idée de stocker les résultats du quiz. Déduire si la réponse est correcte ou non basée sur le réglage de l'administrateur serait encore très facile. Pensez à ce que cela se produirait si l'administrateur sélectionne une mauvaise réponse, puis doit le corriger.