Page 1 sur 1

detection format fichier

Posté : 15 mai 2007, 13:44
par Invité
Bonjour,

je voudrais créer un champ html upload et créer une règle javascript qui détecte le format du fichier sur validation, pour renvoyer une alerte si ce fichier n'est pas au bon format.

Ma question : comment détecter un format de fichier dans un champ html upload avec javascript?

Posté : 15 mai 2007, 13:53
par lem
Il te suffit de tester l'extension du nom du fichier que la personne renseigne dans le champ texte.

Posté : 15 mai 2007, 14:11
par Invité
j'ai trouvé un script que j'essaye d'utiliser avec quick form, mais erreur de syntaxe.

Ceci fonctionne:
$form->addElement('submit', 'enregistrer', 'Enregistrer', 'onclick="javascript:verif_extension(this.value)"');
Mais pas ceci :
 $form->addElement('submit', 'enregistrer', 'Enregistrer', 'onclick="javascript:verif_extension(document.getElementsByName("fruit").value)"');
ou est l'erreur?

Posté : 15 mai 2007, 14:51
par Sékiltoyai
il faut mettre getElementsByName("fruit")[0] parce que la fonction retourne plusieurs éléments...

Posté : 15 mai 2007, 15:09
par Invité
ceci me retourne un parse error niveau javascript. Voyez vous pourquoi?
$file =& $form->addElement('file', 'fichier', 'Fichier:', 'onblur="javascript:if(this.value != ''){verif_extension(this.value); return false;}"');

Posté : 15 mai 2007, 15:15
par Sékiltoyai
ici :

Code : Tout sélectionner

if(this.value != '')
Ce code est dans une chaine quotée avec des simples quote : '
Or, dans ces chaines là, il faut échapper les caractères ' et \, les caractères ' pouvant s'échapper comme ceci : \' ou comme cela : '' .
Ce qu'il c'est passé, c'est que croyant mettre deux simples quote dans ta chaine résultat, tu n'en as mis qu'une car php a considéré que c'était une simple quote échappée. Si tu veux mettre 2 simples quote, il faut donc mettre \'\' ou bien '''' pour que php comprenne que ce sont 2 quotes échappées.