[javascript] boucle for / tagName

Fermé
*thedoctor46* - 25 avril 2007 à 17:22
 Utilisateur anonyme - 3 mai 2007 à 17:05
Bonjour à tous, j'ai un léger problème (surement tout bête mais qui me bloque sérieusement:@)

J'ai fais un calendrier avec des "th" "tr", "td",...

Je dois maintenant (en javascript) créer une boucle qui me permetra de rendre chaque jour de mon calendrier (donc les "td") cliquable afin qu'il ouvre une pop-up.

Je dois donc utiliser le tagName et une boucle for mais je n'y parviens pas.

J'arrive à lancer ma pop-up par Id mais vous en conviendrez le faire pour tous c'est un peu inutile alors qu'une simple boucle devrait faire l'affaire.

pour l'instant j'ai ceci:


onload = function()
{
alert("page chargée!");
document.getElementById("24fev").onclick=function()
{
alert("lancement de la pop-up");
var popup = open("./popup.html", "_blank",
"dependent=yes, height=600, width=600, location=no, " +
"top=300, left=300, " +
"menubar=no, resizable=no, scrollbars=no, status=no, toolbar=no");
}

document.getElementById("1jan").onclick=function()
{
alert("lancement de la pop-up");
var popup = open("./popup.html", "_blank",
"dependent=yes, height=600, width=600, location=no, " +
"top=300, left=300, " +
"menubar=no, resizable=no, scrollbars=no, status=no, toolbar=no");
}

document.getElementsByTagName("td").onclick = function()
{
var lesjours = document.getElementsByTagName("td");
var i=0;
for (i=0; i<lesjours.length;i++);
alert("lancement de la pop-up");
var popup = open("./popup.html", "_blank",
"dependent=yes, height=600, width=600, location=no, " +
"top=300, left=300, " +
"menubar=no, resizable=no, scrollbars=no, status=no, toolbar=no");

}

}


J'ai donc mes 2 jours (1er janvier et 24 février) qui ouvre bien la pop-up lors du clik mais ma boucle ne fonctionne pas, quelq'un peut-il m'aider???

merci bien et bonne journée
A voir également:

3 réponses

Utilisateur anonyme
27 avril 2007 à 11:41
Salut!

A toi d'adapter...

<html>
	<head>
		<style>
			table{
				border: 1px solid #000000;
			}
		</style>
		<script>
			onload=function(){
				alert('loaded');
				var cells = document.getElementsByTagName('td');
				for(i=0 ; i<cells.length ; i++){
					var value = cells[i].innerHTML;
					cells[i].onclick=function(){
						alert('Vous avez cliqué sur ' + getSrcElement().innerHTML);
					}
				}
			}
			
			function getSrcElement(e){
				var t;
				if (!e) var e = window.event;
				if (e.target) t = e.target;
				else if (e.srcElement) t = e.srcElement;
				if (t.nodeType == 3)
				t = targ.parentNode;
				return t;
			}
		</script>
	</head>

	<body>
		<table>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
				<td>6</td>
			</tr>
		</table>
		<script>
			
		</script>
	</body>
</html>


;-)
HackTrack
1
*thedoctor46*
28 avril 2007 à 14:34
Tu met ton code javascript dans ton HTML? Nous nous devons faire le tout séparement, un fichier html, et css et un javascript (php pour plus tard)

Merci quand même, je tenterai ca;)

D'autres avis sont les bienvenus bien entendu
0
Utilisateur anonyme
3 mai 2007 à 17:05
Je ne "mets" pas mon code javascript et css dans le même fichier.

C'est le cas ici pou te faciliter le travail: copie-colle dans un editeur, sauvegarde et ç marche sans devoir créer x fichiers.

D'ailleurs, je ne travaille que rarement en HTML, mais plutôt en XHTML , XML + XSLT + XSD

;-)
HackTrack
0
*thedoctor46*
25 avril 2007 à 19:14
Personne?
0
*thedoctor46*
26 avril 2007 à 18:23
Vraiment personne qui sait me donner une information, si petite soit-elle...
0