Récupération d'arguments sur une fonction
Hello!
La question a déjà du être posée des dizaines de fois mais je ne trouve rien! En plus le problème m'était déjà arrivé mais je ne trouve plus rien dans mes archives! :oops:
Voilà, c'est tout simple... c'est un contrôle d'un champ dans un formulaire. Si l'image uploadée n'est pas un JPEG, le formulaire n'est pas envoyé. J'aimerais en faire une fonction globale et réutilisable pour tous mes formulaires. Je mets donc comme arguments dans ma fonction, le nom du formulaire et le champ sur lequel l'action doit être lancée.
Plus facile avec un peu de code! L'évènement:
Code:
onSubmit="return ControlJPEG('this.form', 'NomChamp');"
Et le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| function ControlJPEG(Formulaire, Champ)
{
var NomImage = document.Formulaire.Champ.value;
var Extension = NomImage.substring(NomImage.lastIndexOf("."));
if( (Extension != '.jpg') && (Extension != '.JPG') && (Extension != '') )
{
alert('message');
return false;
}
return true;
} |
Merci pour votre aide!
Re: Récupération d'arguments sur une fonction
Code:
onsubmit="return ControlJPEG('this', 'NomChamp');"
Pas besoin de this.form, car tu es déjà dans ton element form, donc this refere au formulaire.
Code:
1 2 3 4 5 6 7 8 9 10 11
|
function ControlJPEG(Formulaire, Champ)
{
var NomImage = Formulaire.elements[Champ].value;
var testExtension=/\.(jpg|JPG|jpeg)$/.test(NomImage);
if( !testExtension )
{
alert('message');
}
return testExtension;
} |
En utilisant les expressions régulières, c'est plus beau. J'ai juste un doute sur les ou (|) dans l'expression, je ne suis pas sur qu'on puisse en mettre 2 mais faut juste vérifier ce point.
Bonne chance :wink: