4 fonctions javascripts que je viens de faire ! Et elles marchent - HTML/CSS - Programmation
Marsh Posté le 07-06-2002 à 15:25:56
bonne idée. j'apporte ma pierre a l'edifice
// Fonction qui vérifie qu'un champ contienne un entier. Si on essaie de taper un caractère qui n'est pas un chiffre il est effacé.
function checkint(champ)
{
var c=champ.value.charAt(champ.value.length-1);
if (c<'0' || c>'9'
champ.value=champ.value.substring(0,champ.value.length-1);
}
// Fonction qui vérifie qu'un champ contienne un float. Si on essaie de taper un caractère qui n'est pas un chiffre il est effacé. On peut taper un seul "."
function checkfloat(champ)
{
var c=champ.value.charAt(champ.value.length-1);
if ((c<'0' || c>'9' && c!='.'
champ.value=champ.value.substring(0,champ.value.length-1);
if (c=='.'
for (var i=0;i<champ.value.length-1;i++)
if (champ.value.charAt(i)=='.'
champ.value=champ.value.substring(0,champ.valu
e.length-1);
}
// Fonction à laquelle on passe une liste de champs texte et de selects et un bouton,
// et si il y a des champs texte / select qui sont vides, le bouton est désactivé.
// Cette fonction est pratique car on peut lui passer autant de paramètres que l'on veut.
function disableifempty()
{
var args=disableifempty.arguments;
var n=args.length;
var vide=0;
for (var i=0;i<n-1;i++)
{
if (args[i].type.toLowerCase()=='text'
{
if (args[i].value=='' || args[i].value==null)
vide=1;
}
else if (args[i].type.toLowerCase()=='select-one'
{
if (args[i].length==0)
vide=1;
}
}
if (vide==1)
args[n-1].disabled=true;
else
args[n-1].disabled=false;
}
Marsh Posté le 07-06-2002 à 15:36:49
Tu peux jeter un oeil sur le topic des fonctions qui simplifies la vie, y'en a pleins aussi...
J'en ai fait un nouveau juste histoire de remercier ceux (du forum) qui m'ont aidé a faire ces fonctions
Marsh Posté le 07-06-2002 à 15:40:26
[citation]
// Fonction à laquelle on passe une liste de champs texte et de selects et un bouton,
// et si il y a des champs texte / select qui sont vides, le bouton est désactivé.
// Cette fonction est pratique car on peut lui passer autant de paramètres que l'on veut.
[/citation]
Sympa celle la
Marsh Posté le 07-06-2002 à 23:24:40
jultey a écrit a écrit : Sympa celle la |
mine de rien je me suis bien cassé le cul dessus
Marsh Posté le 07-06-2002 à 15:23:51
Je vais vous filer le code de 4 fonctions javascripts que je viens de faire. Vous devez certainement en avoir des comme ca, mais là, je viens de galérer assez longtemps pour les faire alors j'en suis fièr !! tatiiiinnn
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//Passer n champs en parametre, cette fonction les effacera
//et mettra le focus au 1er
function effacer()
{
//Tableau des valeurs
var arg_param = effacer.arguments ;
//Nombre d'arguments passés à la fonction
var arg_nb = arg_param.length ;
//Boucle pour chaque argument
for (var i = 0; i < arg_nb; i++)
{
//On efface la valeur du champ
param = eval('document.f.' +arg_param[i]) ;
param.value = '' ;
}
//on met le focus au 1er champ effacé
foc = eval('document.f.' +arg_param[0]) ;
foc.focus() ;
}
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//Passer n champs en parametre, cette fonction les mettra tous a la valeur du 1er
function propager()
{
//Tableau des valeurs
var arg_param = propager.arguments ;
//Nombre d'arguments passés à la fonction
var arg_nb = arg_param.length ;
//Valeur a propager
val_a_propager = eval('document.f.'+arg_param[0]+".value" ) ;
//Boucle pour tous les autres champs
for (var i = 1; i < arg_nb; i++)
{
param = eval('document.f.'+arg_param[i]) ;
param.value = val_a_propager ;
}
}
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//Verifie les emails de n champs que si ils sont remplis
//et met le focus sur le dernier faux
function verif_mail_facult()
{
//Tableau des valeurs
var arg_param = verif_mail_facult.arguments ;
//Nombre d'arguments passés à la fonction
var arg_nb = arg_param.length ;
//Variable qui sera le drapeau d'une erreur
mon_drapeau = 0 ;
//boucle pour chaque argument
for (var i = 0; i < arg_nb; i++)
{
//On initialise les valeurs
arobase = 0 ;
point = 0 ;
espace = 0 ;
//Chaine a tester
param = eval('document.f.'+arg_param[i]+'.value' ;
//si il y a des caracteres
if(param != 0)
{
//Test pour tous les caractères
for (var k = 0; k < param.length; k++)
{
var c = param.substring(k, k+1) ;
//Test de l'arobase
if(c == "@" )
arobase = arobase + 1 ;
//Test du point
if(c == "." )
point = point + 1 ;
//Test de l'espace
if(c == " " )
espace = espace + 1 ;
}//for caractere
//test de la chaine de caractere
if(arobase != 1 || point == 0 || espace != 0)
{
//on incrémente mon_drapeau
mon_drapeau++ ;
//on efface le champ faux
mon_champ = eval('document.f.' +arg_param[i]) ;
mon_champ.value = '' ;
//on met le focus au champ faux
mon_champ.focus() ;
}//if caractere
}//if si il y a des caracteres
}//for chaine a tester
//valeur de retour
if( mon_drapeau == 0 )
return true ;
else
return false ;
}//verif_mail_facult
//::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::
//vérifie les emails de n champs obligatoires
//et met le focus sur le dernier faux
function verif_mail()
{
//Tableau des valeurs
var arg_param = verif_mail.arguments ;
//Nombre d'arguments passés à la fonction
var arg_nb = arg_param.length ;
//Variable qui sera le drapeau d'une erreur
mon_drapeau = 0 ;
//boucle pour chaque argument
for (var i = 0; i < arg_nb; i++)
{
//On initialise les valeurs
arobase = 0 ;
point = 0 ;
espace = 0 ;
//Chaine a tester
param = eval('document.f.'+arg_param[i]+'.value' ;
//Test pour tous les caractères
for (var k = 0; k < param.length; k++)
{
var c = param.substring(k, k+1) ;
//Test de l'arobase
if(c == "@" )
arobase = arobase + 1 ;
//Test du point
if(c == "." )
point = point + 1 ;
//Test de l'espace
if(c == " " )
espace = espace + 1 ;
}//for caractere
//test de la chaine de caractere
if(arobase != 1 || point == 0 || espace != 0)
{
//on incrémente mon_drapeau
mon_drapeau++ ;
//on efface le champ faux
mon_champ = eval('document.f.' +arg_param[i]) ;
mon_champ.value = '' ;
//on met le focus au champ faux
mon_champ.focus() ;
}//if caractere
}//for chaine a tester
//valeur de retour
if( mon_drapeau == 0 )
return true ;
else
return false ;
}//verif_mail
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::