11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je voudrai savoir comment récupérer dans le code HTML la valeur d'une variable javascript sans passer par le document.write.
J'aimerai récupérer sa valeur dans HTML.

	function Affiche_questionnaire()
	{
	 var i=0;
	 var j=0;
	 
		document.write('<form>');
		//récupération de la question
		
		for (i=0;i<=nb_question-1;i++)
		{
			for (j=0;j<=nb_case_question-3;j++)
			{
				if (j==1)
					{
						//affichage de la question
						document.write(Questionnaire[i][j]);
						document.write('<br>');
					}
				else if (j>1)
					{
						//affichage des boutons radios
						document.write('<INPUT type=radio name="réponse" value="a" onclick=test()>');
						document.write(Questionnaire[i][j]);
						document.write('<br>');
					}
			}
			document.write('<br>');
		}
		document.write('</form>');	
	}


En effet j'ai réussit à afficher "dynamiquement" le contenu de mon tableau sous forme de formulaire.
Outre le fait ici que je n'ai pas gérer (pas encore) le name="" et le value="" de mes boutons radios j'ai un soucis au niveau de la gestion des événements associé au élément du formulaire.

Ici j'avais fait une fonction test () affichant une alertbox et j'ai tenté de déclenché cette événement par un click sur un bouton radio.
Le debugger me dit cependant que test () n'est pas déclaré alors que j'ai bien définit une fonction test () et que cette dernière est déclaré avant son appel par l'evenement sur le onclick du bouton radio.

Je ne sais pas si j'utilise la bonne méthode pour afficher mon questionnaire :
- dois je le construire via le HTML en lisant les données d'une varible Javascript
- ou dois je le construire via le document.write mais dans ce cas comment gérer les événement et surtout ou devoir les déclarer

Je ne sais pas si j'ai été très clair

cordialement,[/i][/i]
Modifié par narutobaka (02 Jul 2008 - 16:06)
Je ne comprends pas bien ta question.

Pour ce qui est de ton problème de onclick écrit par document.write, ça doit fonctionner. Exemple simple :
<script type="text/javascript">
function test() {
  alert("hello");
}
document.write("<input type=\"radio\" onclick=\"test()\">");
</script> 

Qu'utilises-tu comme debugger ? S'il te dit que ta fonction n'est pas définie, vérifie la, tu as sans doute un problème de syntaxe qui fait que l'interpréteur n'arrive pas... à la définir.
Conseil aussi : mets des doubles cotes autour des valeurs des attributs (cf. mon exemple)
Modifié par chadom (03 Jul 2008 - 22:46)