11548 sujets

JavaScript, DOM et API Web HTML5

Voici une fonction qui permet de controler si un code postal est correct


function verif()
{
	code_postal=document.nom_formulaire[nom_du_champ].value;
	if ((code_postal=="2A")||(code_postal=="2B")||(Math.floor(code_postal)>0))
	{
		document.nom_formulaire[nom_du_champ].value=code_postal;
	}
	else
	{
		document.nom_formulaire[nom_du_champ].value="";
		alert("Le code postal est incorrecte...");
		return false;
	}
}


Voici un fonction qui controle si les caractères passés sont de type numérique


function verif_num(num)
{
	qte=document.nom_formulaire[nom_champ+num].value;
	//Transformer la valeur en entier.
	// --> 0 si la valeur est une chaine
	if (Math.floor(qte)>0) 
	{
		document.nom_formulaire[nom_champ+num].value = Math.floor(qte);
	}
	else 
	{
		document.nom_formulaire[nom_champ+num].value=1;
		alert("La quantite est incorrecte...");
		return false;
	}
}

Modifié par khensin (11 Dec 2007 - 14:46)
khensin a écrit :
C'est pour aider ceux qui recherchent certaines focntions javascript.

ouais mais nan, ton code est juste moche et puis ce ne sont pas des fonctions mais des bouts de code qu'il faut modifier 50x pour repondre à nos besoin

le mieux c'est d'avoir reellement une fonction qui te retourne un booleen selon la valeur que tu lui passe :


function isPostal(value) {
   return !!value.match(/^(\d{2}|2A|2B)\d{3}$/i)
}


et ensuite tu as une fonction générale qui s'occupe d'afficher les messages d'erreur

PS : les regexp c'est top
PS2 : le DOM ca se parcoure avec des document.getElementById(''), on n'utilise plus le vieux DOM de nos jours
Modifié par Gatsu35 (12 Dec 2007 - 06:16)
Désolé khensin, mais il faut avouer que Gatsu35 a un peu raison là...

Je te conseille de réviser les bases de JavaScript, ça te permettra d'écrire du code plus efficace et robuste. Smiley smile
Modérateur
Salut,

Au delà des bases, je pense qu'il y a aussi certaines choses qui ne sont pas tout le temps expliquées dans les tutos/cours/bouquins à savoir, entre autres, privilégier les fonctions "généralistes" pour une meilleure portabilité.
Modifié par koala64 (12 Dec 2007 - 14:35)
koala64 a écrit :
Salut,

Au delà des bases, je pense qu'il y a aussi certaines choses qui ne sont pas tout le temps expliquées dans les tutos/cours/bouquins à savoir, entre autres, privilégier les fonctions "généralistes" pour une meilleure portabilité.

Tu peux donner plus de détails ? Que veux-tu dire par fonction généraliste ?
En tout cas c'est sûr que la syntaxe document.formulaire.champ.value, même si elle fonctionne encore presque toujours, elle n'est vraiment plus conseillée.
a écrit :
Tu peux donner plus de détails ? Que veux-tu dire par fonction généraliste ?


C'est une fonction que tu ne dois pas modifier et que tu peux placer dans n'importe quel code... Une fonction qui n'est pas liée à un document ou à une autre fonction, mais qui est liée uniquement par les variables transmises en paramètre et (je suppose) que généralement, ce genre de fonction retourne vrai ou faux... Une fonction "portable" quoi Smiley cligne

a écrit :
En tout cas c'est sûr que la syntaxe document.formulaire.champ.value, même si elle fonctionne encore presque toujours, elle n'est vraiment plus conseillée.


Sauf erreur de ma part, cette syntaxe ne fonctionne même plus du tout à partir du moment où un DTD est définit.
Alphonse a écrit :
Tu peux donner plus de détails ? Que veux-tu dire par fonction généraliste ?


C'est une fonction que tu ne dois pas modifier et que tu peux placer dans n'importe quel code... Une fonction qui n'est pas liée à un document ou à une autre fonction, mais qui est liée uniquement par les variables transmises en paramètre et (je suppose) que généralement, ce genre de fonction retourne vrai ou faux... Une fonction "portable" quoi Smiley cligne

Sauf erreur de ma part, cette syntaxe ne fonctionne même plus du tout à partir du moment où un DTD est définit.Pas necessairement, une fonction à une seule unique fonction, elle a un comportement. Cela peut être retourner des données, ou modifier des données, ou verifier des données, etc...

Ce qu'elle retourne/ou pas dépend de son domaine d'execution. L'important c'est qu'elle retourne toujours le même type et le même format.

C'est avec toutes ces informations qu'on peut écrire une spécification (sauf que c'est jamais fais en Javascript).
Alphonse a écrit :
Tu peux donner plus de détails ? Que veux-tu dire par fonction généraliste ?


C'est une fonction que tu ne dois pas modifier et que tu peux placer dans n'importe quel code... Une fonction qui n'est pas liée à un document ou à une autre fonction, mais qui est liée uniquement par les variables transmises en paramètre et (je suppose) que généralement, ce genre de fonction retourne vrai ou faux... Une fonction "portable" quoi Smiley cligne

a écrit :
En tout cas c'est sûr que la syntaxe document.formulaire.champ.value, même si elle fonctionne encore presque toujours, elle n'est vraiment plus conseillée.


Sauf erreur de ma part, cette syntaxe ne fonctionne même plus du tout à partir du moment où un DTD est définit.
Si cette syntaxe existe toujours, exemple simple, on fait de jolies maquettes chez nous (html/css/js toussa tout bo) et les ingés dès qu'il est question de faire du JS sur des formulaires, integre un tas de caca monstrueux, mais qui marche Smiley eek même avec une DTD propre

Sinon, le passe-temps favoris des intégrateurs/inges server side, est d'oublier le doctype. Parfois je me demande s'ils n'en font pas exprès
Hey amigas hola!
quien se un scripto de javascript que se puede abrir pequena ventana, en mientro el surfer eataba en mi paga unos mas que 15 sec?

por favor, ayuda me, no puedo encontrar ese scripto Smiley decu