Bonjour � tous, un grand merci � ceux qui oseront se pencher sur mon soucis, je vais essayer d'�tre le plus pr�cis possible.
Je dispose d'un formulaire assez basique, prenant cette forme :
Jusque la, je pense que tout va
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 <form action="index.php" method="post" name="saisirreponse" id="saisirreponse"> <input type="radio" name="reponse" value="a"> a <input type="radio" name="reponse" value="b"> b <input type="hidden" name="question" value=""> //rajouté en plus pour contourner le submit() <input type="submit" name="question" value="Continue">.
Dans cette m�me page, je place du php pour regarder si j'ai re�u quelque chose de mon formulaire.
Lorseque je clique sur mon bouton submit, tout fonctionne, la page se recharge, mon code php detecte qu'un formulaire a �t� saisie et il inscrit les r�ponses.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 <? if (isset($_POST['question'])) { if(isset($_POST['reponse'])) { //ajout des réponses dans la BDD } //affichage de la question suivante }?>
Mais la, je viens d'ajouter un timer. La personne doit r�pondre � la question dans un laps de temps donn�. Ainsi, quand le timer est � 0, je voudrais que le formulaire soit envoy� automatiquement.
Bien, la premi�re fois que j'ai lanc� mon code, je revenais � la page d'accueil.
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 function cptreb(sec) { if(sec>0) { sec=sec-1; document.write="Il te reste : <br />"+sec+" secondes"; document.getElementById("cptreb").innerHTML =document.write; } if(sec==0) { document.write="Temps écoulé"; document.getElementById("cptreb").innerHTML =document.write; document.getElementById('saisirreponse').reponse.value=""; document.getElementById('saisirreponse').question.value="1"; alert('Too LATE !!!!'); document.getElementById('saisirreponse').submit(); } setTimeout("cptreb("+sec+")", 1000); }
La, n'y connaissant rien, j'ai tent� de comprendre, et je me suis dit que :
1. mon Code PHP detecte en fait si j'ai appuy� sur le bouton submit (qui doit prendre la valeur : value)
2. la fonction submit() ne doit pas "appuyer" sur ce bouton, elle l'ignore, et donc ca me foire tout xD
J'ai donc contourn� en placant un champ hidden du m�me nom que mon submit et en modifiant sa valeur.
document.getElementById('saisirreponse').question.value="1";
C'est vraiment du bidouillage et �a doit pas �tre trop correct, mais en tout cas, ca fonctionne xD Il trouve un champ "question" et analyse bien tout le code qui en d�coule.
Je me pensais tir� d'affaire, mais nan.
Maintenant, le soucis, c'est que la personne n'ayant pas eu le temps de selectionner l'une ou l'autre radio, mon formulaire ne renvoyant aucune variable "reponse". J'ai bien tent� de faire :
document.getElementById('saisirreponse').reponse.value="";
Mais �a ne marche pas.
(Sans la variable "reponse", il n'ajoute rien dans la BDD et donc me raffiche la question pr�c�dante. On perd tout l'int�ret du timer ^^)
Comment puis je faire pour donner une valeur au champ reponse, afin que le submit renvoi quelque chose ?
Partager