JS: onLoad obligatoirement dans body ?

Résolu/Fermé
Baltazarius Messages postés 35 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 6 février 2010 - 27 juin 2009 à 17:43
Baltazarius Messages postés 35 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 6 février 2010 - 27 juin 2009 à 19:39
Bonjour,
Je suis embêté. Comme je ne connais pas du tout le JS j'ai pris sur un site ce code pour pouvoir afficher un décompte:
<SCRIPT LANGUAGE="JavaScript">

function disp_delai()
	{document.forms[0].elements[0].value=delai(2009,07,4,10,30);
	setTimeout("disp_delai()",1000);
	}
	
function delai(annee,mois,jour,heure,min)
	{var date_fin=new Date(annee,mois-1,jour,heure,min)
	var date_jour=new Date();
	var tps=(date_fin.getTime()-date_jour.getTime())/1000;
	var j=Math.floor(tps/3600/24); 
	tps=tps % (3600*24);
	var h=Math.floor(tps / 3600);
	tps=tps % 3600;
	var m=Math.floor(tps/60);
	tps=tps % 60
	var s=Math.floor(tps);
	
	var txt=j+" Jours "+h+" Heures "+m+" minutes et "+s+" secondes";
	date_fin=don_date(date_fin);
	return txt;}

function don_date_jour()
	{var date_jour=new Date();
	date_jour=don_date(date_jour);
	return date_jour;}

function don_heure()
	{var date_jour=new Date();
	var heure=date_jour.getHours();
	var min=date_jour.getMinutes();
	if (heure<10) heure="0"+heure;
	if (min<10) min="0"+min;
	heure=heure+":"+min;
	return heure;}

function don_date(une_date)
	{var la_date;
	var months=new Array(12);
	months[1]="Janvier";
	months[2]="Février";
	months[3]="Mars";
	months[4]="Avril";
	months[5]="Mai";
	months[6]="Juin";
	months[7]="Juillet";
	months[8]="Aout";
	months[9]="Septembre";
	months[10]="Octobre";
	months[11]="Novembre";
	months[12]="Décembre";

	var days=new Array(7);
	days[1]="Lundi";
	days[2]="Mardi";
	days[3]="Mercredi";
	days[4]="Jeudi";
	days[5]="Vendredi";
	days[6]="Samedi";
	days[0]="Dimanche";

	var month=months[une_date.getMonth() + 1];
	var day=days[une_date.getDay()];
	var date=une_date.getDate();
	var year=une_date.getYear();

	year=1900+year;
	
	la_date=day + " " + date + " " + month + " " + year;
	return la_date;
}
</SCRIPT>

Ensuite je met dans body: <body onLoad="disp_delai()">

Le problème étant que j'ai plusieurs case à texte, donc il me met le décompte dans le premier form texte !
Je ne sais pas comment lui indiquer dans quel form il doit le mettre !
Merci.

3 réponses

RobertLaBiere
27 juin 2009 à 17:48
Dans la fonction disp_delai:
document.forms[0].elements[0].value=delai(2009,07,4,10,30);

Cela signifie que dans ta page web tu prends le premier formulaire (forms[0]) et le premier element (elements[0].).

Par exemple ton formulaire s'appelle test et ton champ de texte met:

document.test.champtexte.value=delai(2009,07,4,10,30);
1
Baltazarius Messages postés 35 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 6 février 2010 5
27 juin 2009 à 18:36
Merci c'est trop bête ^^ Je vais tout de suite tester ça !
0
Baltazarius Messages postés 35 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 6 février 2010 5
27 juin 2009 à 19:39
Merci ça marche très bien !
0