MANIPULATION ET FONCTIONS POUR LES CHAMPS FICHIERS DES FORMULAIRES (TYPE=FILE)

cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006 - 24 oct. 2003 à 13:49
cs_belone Messages postés 4 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 1 avril 2009 - 2 févr. 2011 à 10:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17276-manipulation-et-fonctions-pour-les-champs-fichiers-des-formulaires-type-file

cs_belone Messages postés 4 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 1 avril 2009
2 févr. 2011 à 10:44
function checkExtension(fieldvalue, t_ext) {
var thisext = fieldvalue.substr(fieldvalue.lastIndexOf('.'));
for(var i = 0; i < t_ext.length; i++){
if(thisext.toUpperCase() == t_ext[i].toUpperCase()){
return true;
}
}
return false;
}

appel
if(!checkExtension(document.forms[0].image.value, ['jpg','jpeg','gif','png'])) {
alert("Ce n'est pas une image");
}
Utilisateur anonyme
25 nov. 2007 à 16:15
Je suis vraiment mort de rire... si si, mdr ! Mortis, tu devrais faire le commentaire sur le site de macromedia, moi j'y suis pour rien. Tu dois vraiment être un newbie dans le dév web ou tu n'utilise pas adobe, car toutes les fonctions MM_* c'est du macromedia - et pk c'est moche, car c'est condensé et ça passe plus vite sur le réseau.
mehdi7604 Messages postés 118 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 6 mars 2015
25 nov. 2007 à 13:53
aligne tes cheuveux d'abord ,balai, vous allez arreter de décourager les gens ?!
mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008
12 déc. 2005 à 03:14
P-e que ce code fonctionne, mais je ne prend même pas la peine de le lire, car il est dégeulasse...

Aucun alignement, commentaires inexistant... on n'a qu'a regarder cette fonction pour s'appercevoir que ce code est dégeu...

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}


Désolé, mais du code qui fonctionne n'est pas nécessairement du bon code... faut penser à la lisibilitée du code aussi, sinon il devient impossible à réutiliser...
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
16 août 2005 à 11:50
non, pas avant l'envoi
Alore1207 Messages postés 8 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 6 mars 2006
16 août 2005 à 10:59
Hello,
excellent code, mais y a-t-il moyen de vérifier le poids du fichier ??

Merci d'avance
jeanpro46 Messages postés 4 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 24 septembre 2008
2 mai 2005 à 23:25
Salut, il est super ce code, mais il n'y a pas moyen que lorsque l'ont clique sur le bouton "Parcourir", ce soit seulement les fichiers du type que l'ont veux qui apparaissent. Par exemple que dans Type de fichier se soit écrit *.jpg, *.gif. Merçi d'avance pour la réponse.
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
30 nov. 2004 à 06:48
impossible directement.
- Soit tu veux avoir le nom d'un dossier et sur le onchange tu récupère dans un champ caché le nom du fichier auquel tu enlève la fin
- Soit tu veux tous les fichiers d'un dossier : impossible.
kegi Messages postés 164 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 25 août 2008
30 nov. 2004 à 00:41
comment faire pour demander un dossier ?

kevin (kegi@hotmail.com)
fluminis Messages postés 73 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 20 juin 2005
7 juil. 2004 à 18:16
Miles excuses j'ai voulu aller trop vite

function verifExt() {
var file = document.fupload.fichier;

if (file.value.search(/(.txt|.doc|.xls|.rar|.zip|.ace|.csv|.jpg|.jpeg|.gif|.png)$/) == -1){
alert("Le format de votre fichier n'est pas correct !\nLes formats acceptés sont : \n\ntxt,doc,xls,rar,zip,ace,csv,jpg,jpeg,gif,png\n\nVeuillez selectionner un autre fichier.");
RAZ_File();
}
return ok;
}

les expression regulieres en javascript ne peuvent pas etre des variables :-)
mais peut importe surtout comme dit Akenathon il genere ca en php...
fluminis Messages postés 73 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 20 juin 2005
7 juil. 2004 à 18:04
Hello,

je travail beaucoup sur IE et je ne regarde pas trop la compatibilité entre les navigateurs donc a vous de voir si vous voulez garder les fonctions de dreamweaver.

En tout cas pour la recherche de l'extensions il y a plus simple :

<label id="LBLfichier"></label>

ça ça ne change pas (à part les noms que j'ai changé dsl)

et

<script language="javascript">
// ----- Fonction permettant de remettre à 0 le contenu du FILE -----
function RAZ_File() {
var champ = document.getElementById("LBLfichier");
champ.innerHTML = '';
}

// Fonction permettant de savoir si l'extension du fichier est correcte
function verifExt() {
var format = '/(.jpeg|.gif|.jpg)$/';
var file = document.fupload.fichier;

if (file.value.search(format) == -1){
alert("Le format de votre fichier n'est pas correct !\nLes formats acceptés sont : \n\nVeuillez selectionner un autre fichier.");
RAZ_File();
}
return ok;
}
</script>

l'utilisation des expressions régulieres simplifie le code.

bonne prog à tous
Dragoum Messages postés 22 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 10 juin 2004 2
18 déc. 2003 à 12:42
Merci c'est super tu vas me faire gagner du temps
@+
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
24 oct. 2003 à 13:49
je crois que ça va me servir :)
merci