Broblème javascript
trokkers
-
grofwa Messages postés 440 Statut Membre -
grofwa Messages postés 440 Statut Membre -
Bonjour à Tous ! [;)] Je voudrais faire un QCM et je suis face à un problèmeque voici : quand je met le champ texte au Dessus des question ca fonctionne !!! au dessous ca ne fonctionne pas!!! (je suis pas trop fort en java) Voici le code:
<html><head>
<title></title>
<script language=""><!--
var numQues = 1;
var numChoi = 4;
var answers = new Array(4);
var answers_true = new Array(4);
var answers_false = new Array(4);
answers[0] = "Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons";
answers_true[0] = "Bonne réponse! ";
answers_false[0] = "Faux! Il fallait cocher la réponse c.";
function getScore(form) {
var score = 0;
var currElt;
var currSelection;
for (i=0; i<numQues; i++) {
currElt = i*(numChoi+1);
for (j=0; j<numChoi; j++) {
currSelection = form.elements[currElt + j+1];
if (currSelection.checked) {
if (currSelection.value == answers[i]) {
score++;form.elements[currElt].value=answers_true[i];break;}
else {form.elements[currElt].value=answers_false[i];}}}}
score = Math.round(score/numQues*20);
form.percentage.value = score + "/20";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {correctAnswers += i + ". " + answers[i-1] + "\r\n";}}
// -->
</script>
</head>
<body bgcolor="#FFFFFF" background="ac1100.gif">
<blockquote>
<p align="center"><b></b></p>
<form>
</form>
</blockquote>
<form name="quiz">
<blockquote>
<blockquote>
<p><b>1. Pourquoi y a-t-il plusieurs espèces de secondes, de tierces, de
quartes, etc.?</b><br>
<br>
solution :
<input type="text" name="textfield" size="70">
</p>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<p>a:
<input type="radio" name="q1" value="Parce qu'il y a plusieurs instruments">
Parce qu 'il y a plusieurs instruments<br>
b:
<input type="radio" name="q1" value="Pour obtenir la somme de deux demi-tons">
Pour obtenir la somme de deux demi-tons<br>
c:
<input type="radio" name="q1" value="Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons">
Car les intervalles de même nature n'ont pas toujours la même somme de
tons et de 1/2 tons<br>
d:
<input type="radio" name="q1" value="A cause de la mesure">
A cause de la mesure<br>
</p>
<p align="center">Vous obtenez :
<input type="text" name="percentage" size="3">
</p>
</blockquote>
</blockquote>
<p align="center">
<input type="button" value="Résultat" onClick="getScore(this.form)">
<p align="center">
</form>
<FORM>
</FORM>
</body></html>
--------------------------------------------
Voilà j'aimerai que le champ réponse se trouve en dessous des questions mais sans utiliser de calques (div).
Merci à tous...
Je vous laisse egalement le code qui ne fonctionne pas :
Celui la ne fonctionne pas pourtant c juste le champ de texte qui est deplacé. merci pour votre aide
<html><head>
<title></title>
<script language="">
<!--
var numQues = 1;
var numChoi = 4;
var answers = new Array(4);
var answers_true = new Array(4);
var answers_false = new Array(4);
answers[0] = "Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons";
answers_true[0] = "Bonne réponse! ";
answers_false[0] = "Faux! Il fallait cocher la réponse c.";
function getScore(form) {
var score = 0;
var currElt;
var currSelection;
for (i=0; i<numQues; i++) {
currElt = i*(numChoi+1);
for (j=0; j<numChoi; j++) {
currSelection = form.elements[currElt + j+1];
if (currSelection.checked) {
if (currSelection.value == answers[i]) {
score++;form.elements[currElt].value=answers_true[i];break;}
else {form.elements[currElt].value=answers_false[i];}}}}
score = Math.round(score/numQues*20);
form.percentage.value = score + "/20";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {correctAnswers += i + ". " + answers[i-1] + "\r\n";}}
// -->
</script>
<script language=Javascript>
<!--
<!--//IMPRIMER
function imprimer(){window.print();}
-->
//-->
</script>
</head>
<body bgcolor="#FFFFFF" background="ac1100.gif">
<blockquote>
<p align="center"><b></b></p>
<form>
</form>
</blockquote>
<form name="quiz">
<blockquote>
<blockquote>
<p><b>1. Pourquoi y a-t-il plusieurs espèces de secondes, de tierces, de
quartes, etc.?</b><br>
<br>
</p>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<p>a:
<input type="radio" name="q1" value="Parce qu'il y a plusieurs instruments">
Parce qu 'il y a plusieurs instruments<br>
b:
<input type="radio" name="q1" value="Pour obtenir la somme de deux demi-tons">
Pour obtenir la somme de deux demi-tons<br>
c:
<input type="radio" name="q1" value="Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons">
Car les intervalles de même nature n'ont pas toujours la même somme de
tons et de 1/2 tons<br>
d:
<input type="radio" name="q1" value="A cause de la mesure">
A cause de la mesure<br>
solution :
<input type="text" name="textfield" size="70">
</p>
<p align="center">Vous obtenez :
<input type="text" name="percentage" size="3">
</p>
</blockquote>
</blockquote>
<p align="center">
<input type="button" value="Résultat" onClick="getScore(this.form)">
<p align="center">
</form>
<FORM>
</FORM>
</body></html>
Merci et à bientôt...
<html><head>
<title></title>
<script language=""><!--
var numQues = 1;
var numChoi = 4;
var answers = new Array(4);
var answers_true = new Array(4);
var answers_false = new Array(4);
answers[0] = "Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons";
answers_true[0] = "Bonne réponse! ";
answers_false[0] = "Faux! Il fallait cocher la réponse c.";
function getScore(form) {
var score = 0;
var currElt;
var currSelection;
for (i=0; i<numQues; i++) {
currElt = i*(numChoi+1);
for (j=0; j<numChoi; j++) {
currSelection = form.elements[currElt + j+1];
if (currSelection.checked) {
if (currSelection.value == answers[i]) {
score++;form.elements[currElt].value=answers_true[i];break;}
else {form.elements[currElt].value=answers_false[i];}}}}
score = Math.round(score/numQues*20);
form.percentage.value = score + "/20";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {correctAnswers += i + ". " + answers[i-1] + "\r\n";}}
// -->
</script>
</head>
<body bgcolor="#FFFFFF" background="ac1100.gif">
<blockquote>
<p align="center"><b></b></p>
<form>
</form>
</blockquote>
<form name="quiz">
<blockquote>
<blockquote>
<p><b>1. Pourquoi y a-t-il plusieurs espèces de secondes, de tierces, de
quartes, etc.?</b><br>
<br>
solution :
<input type="text" name="textfield" size="70">
</p>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<p>a:
<input type="radio" name="q1" value="Parce qu'il y a plusieurs instruments">
Parce qu 'il y a plusieurs instruments<br>
b:
<input type="radio" name="q1" value="Pour obtenir la somme de deux demi-tons">
Pour obtenir la somme de deux demi-tons<br>
c:
<input type="radio" name="q1" value="Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons">
Car les intervalles de même nature n'ont pas toujours la même somme de
tons et de 1/2 tons<br>
d:
<input type="radio" name="q1" value="A cause de la mesure">
A cause de la mesure<br>
</p>
<p align="center">Vous obtenez :
<input type="text" name="percentage" size="3">
</p>
</blockquote>
</blockquote>
<p align="center">
<input type="button" value="Résultat" onClick="getScore(this.form)">
<p align="center">
</form>
<FORM>
</FORM>
</body></html>
--------------------------------------------
Voilà j'aimerai que le champ réponse se trouve en dessous des questions mais sans utiliser de calques (div).
Merci à tous...
Je vous laisse egalement le code qui ne fonctionne pas :
Celui la ne fonctionne pas pourtant c juste le champ de texte qui est deplacé. merci pour votre aide
<html><head>
<title></title>
<script language="">
<!--
var numQues = 1;
var numChoi = 4;
var answers = new Array(4);
var answers_true = new Array(4);
var answers_false = new Array(4);
answers[0] = "Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons";
answers_true[0] = "Bonne réponse! ";
answers_false[0] = "Faux! Il fallait cocher la réponse c.";
function getScore(form) {
var score = 0;
var currElt;
var currSelection;
for (i=0; i<numQues; i++) {
currElt = i*(numChoi+1);
for (j=0; j<numChoi; j++) {
currSelection = form.elements[currElt + j+1];
if (currSelection.checked) {
if (currSelection.value == answers[i]) {
score++;form.elements[currElt].value=answers_true[i];break;}
else {form.elements[currElt].value=answers_false[i];}}}}
score = Math.round(score/numQues*20);
form.percentage.value = score + "/20";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {correctAnswers += i + ". " + answers[i-1] + "\r\n";}}
// -->
</script>
<script language=Javascript>
<!--
<!--//IMPRIMER
function imprimer(){window.print();}
-->
//-->
</script>
</head>
<body bgcolor="#FFFFFF" background="ac1100.gif">
<blockquote>
<p align="center"><b></b></p>
<form>
</form>
</blockquote>
<form name="quiz">
<blockquote>
<blockquote>
<p><b>1. Pourquoi y a-t-il plusieurs espèces de secondes, de tierces, de
quartes, etc.?</b><br>
<br>
</p>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<p>a:
<input type="radio" name="q1" value="Parce qu'il y a plusieurs instruments">
Parce qu 'il y a plusieurs instruments<br>
b:
<input type="radio" name="q1" value="Pour obtenir la somme de deux demi-tons">
Pour obtenir la somme de deux demi-tons<br>
c:
<input type="radio" name="q1" value="Parce que les intervalles de même nature n'ont pas toujours la même somme de tons et de 1/2 tons">
Car les intervalles de même nature n'ont pas toujours la même somme de
tons et de 1/2 tons<br>
d:
<input type="radio" name="q1" value="A cause de la mesure">
A cause de la mesure<br>
solution :
<input type="text" name="textfield" size="70">
</p>
<p align="center">Vous obtenez :
<input type="text" name="percentage" size="3">
</p>
</blockquote>
</blockquote>
<p align="center">
<input type="button" value="Résultat" onClick="getScore(this.form)">
<p align="center">
</form>
<FORM>
</FORM>
</body></html>
Merci et à bientôt...
A voir également:
- Broblème javascript
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
1 réponse
Salut.
Premièrement, il n'y a pas besoin de connaître le Java pour cela, le Javascript suffit ;-) (rien à voir !)
Pour corriger ton problème, au lieu de faire
fais plutot
Je pense que ce qui se passe, c'est que sinon, il prend le premier element du formulaire.
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Premièrement, il n'y a pas besoin de connaître le Java pour cela, le Javascript suffit ;-) (rien à voir !)
Pour corriger ton problème, au lieu de faire
form.elements[currElt].value=answers_true[i]
fais plutot
form.textfield.value=answers_true[i]
Je pense que ce qui se passe, c'est que sinon, il prend le premier element du formulaire.
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]