11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je débute un peu en JS et j'aimerais votre aide. J'ai bien peur que mon problème soit tout à fait banal, mais j'y ai réfléchi plusieurs heures et je tourne un peu en rond.
Je voudrais créer un lien qui appelle un script à chaque fois que l'on clique dessus. J'ai voulu m'essayer à du javascript (un peu) non-obstrusif, pour m'entraîner.

Dans le XHTML, il y a un lien (tout ceci se trouve dans un formulaire :
<a href="..." id="lientitre">Cliquer</a>
<!-- Et un div où je voudrais mettre au fur et à mesure mes nouvelles balises (des input) -->
<div id="NewNew"></div>


Ensuite, mon code Javascript :
window.onload = function(){
	const TitleNb = 2;
	document.getElementById('lientitre').onclick = function()
		{
			if(TitleNb > 11) return false;
			else 
                        {
			var ObjetInput = document.createElement('input');
               document.getElementById('NewNew').appendChild(ObjetInput); 
			TitleNb++;
			}
		};
	}


A ce que j'ai vu, il y aurait un problème dans la syntaxe de mon code quand je fais l'appendChild...
(TitleNb incrémente car je compte rajouter un name à chaque input qui aura un numéro, et qui sera différent. C'est pourquoi il y a TitleNb < 11, car je ne veux pas plus d'input)

Merci d'avance pour votre aide Smiley jap
Modifié par Asahi (22 Aug 2008 - 10:50)
Chez moi ca marche !

Tu as vérifié le DOM généré ?

Il faut que tu ajoutes un return false; sur ton onclick pour éviter de suivre le lien !
window.onload = function()
{
	const TitleNb = 2;
	document.getElementById('lientitre').onclick = function()
	{
		if(TitleNb < 12)
		{
			var ObjetInput = document.createElement('input');
			document.getElementById('NewNew').appendChild(ObjetInput); 
			TitleNb++;
		}
		return false;
	};
}

Modifié par warry (22 Aug 2008 - 10:37)