Extraction javascript
Résolu/Fermé
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
-
14 janv. 2011 à 10:23
enark78 Messages postés 417 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 12 juillet 2012 - 14 janv. 2011 à 14:52
enark78 Messages postés 417 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 12 juillet 2012 - 14 janv. 2011 à 14:52
Bonjour, après plusieurs messages sans réponses depuis plusieurs jours, j'espère que cette fois-ci, quelqu'un me viendra en aide.
Voila mon petit problème. J'ai des fichiers joints dans une page et je dois sélectionner l'extension de ces fichiers pour l'insérer dans une url (afin d'afficher une icône de ce type).
J'y arrive lorsque l'extension ne comporte que 3 lettres comme c'est le cas pour la plupart des extensions mais je ne vois pas comment faire pour les extensions à 4 lettres (.docx) par exemple.
Posez moi des questions si je ne suis pas assez clair, merci.
Voila mon petit problème. J'ai des fichiers joints dans une page et je dois sélectionner l'extension de ces fichiers pour l'insérer dans une url (afin d'afficher une icône de ce type).
J'y arrive lorsque l'extension ne comporte que 3 lettres comme c'est le cas pour la plupart des extensions mais je ne vois pas comment faire pour les extensions à 4 lettres (.docx) par exemple.
Posez moi des questions si je ne suis pas assez clair, merci.
A voir également:
- Extraction javascript
- Telecharger javascript - Télécharger - Langages
- Extraction video youtube - Guide
- Windows ne peut pas effectuer l'extraction - Forum Bureautique
- Javascript echo ✓ - Forum PHP
- Afficher un tableau javascript en html ✓ - Forum Javascript
12 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 10:36
14 janv. 2011 à 10:36
Bonjour,
Pour que ce soit plus clair, peux-tu déjà nous dire comment tu fais pour le cas des extensions à trois lettres ?
Merci,
Xavier
Pour que ce soit plus clair, peux-tu déjà nous dire comment tu fais pour le cas des extensions à trois lettres ?
Merci,
Xavier
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 10:40
14 janv. 2011 à 10:40
Et bien je prends simplement les 3 derniers lettres du fichiers joint que j'insère dans une variable. Comme mes icônes s'appellent Fichier_"extension".gif, je fais une concaténation entre l'url et ma variable contenant l'extension du fichier.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 11:01
14 janv. 2011 à 11:01
Plutôt que de prendre les trois dernières lettres, tu devrais plutôt prendre tout ce qui suit le dernier point.
Tu peux utiliser la fonction match() avec une expression rationnelle, comme cela :
var expression = /.*\.(\w.+)$/;
expression.exec(nomFichier);
var extension = RegExp.$1;
Xavier
Tu peux utiliser la fonction match() avec une expression rationnelle, comme cela :
var expression = /.*\.(\w.+)$/;
expression.exec(nomFichier);
var extension = RegExp.$1;
Xavier
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 11:07
14 janv. 2011 à 11:07
Merci mais je ne vois pas comment adapter ton code avec le mien que voici:
var idx = viewEntry.getColumnValues().get(2);
var path = "/dossier/dossier/Fichier_" + (idx).right(3) + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
Sinon je pensais mettre dans ma variable tous les termes qui suivent le ".", mais pareil, je ne vois pas trop comment faire d'autant plus que je développe sur un environnement particulier (lotus domino designer).
var idx = viewEntry.getColumnValues().get(2);
var path = "/dossier/dossier/Fichier_" + (idx).right(3) + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
Sinon je pensais mettre dans ma variable tous les termes qui suivent le ".", mais pareil, je ne vois pas trop comment faire d'autant plus que je développe sur un environnement particulier (lotus domino designer).
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 11:11
14 janv. 2011 à 11:11
> var idx = viewEntry.getColumnValues().get(2);
Ça te donne quoi ça exactement ?
Ça te donne quoi ça exactement ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 11:18
14 janv. 2011 à 11:18
"var idx =" je pense que tu comprends
pour le reste, ca enregistre les chaines de la 2eme colonne (en réalité c'est get(1)) d'un tableau "appelé"viewEntry. les chaines sont les noms de fichier.
pour le reste, ca enregistre les chaines de la 2eme colonne (en réalité c'est get(1)) d'un tableau "appelé"viewEntry. les chaines sont les noms de fichier.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 11:24
14 janv. 2011 à 11:24
Non mais je ne veux pas savoir ce que ça fait, ça je le comprends ^^'
Je veux surtout savoir ce que contient exactement la variable idx au final.
Est-ce qu'elle contient quelque chose comme « document.docx » ?
Je veux surtout savoir ce que contient exactement la variable idx au final.
Est-ce qu'elle contient quelque chose comme « document.docx » ?
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 11:28
14 janv. 2011 à 11:28
oui; exactement
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 11:32
14 janv. 2011 à 11:32
OK, alors tu peux l'intégrer comme ça :
var idx = viewEntry.getColumnValues().get(2);
var expression = /.*\.(\w.+)$/;
expression.exec(idx);
var extension = RegExp.$1;
var path = "/dossier/dossier/Fichier_" + extension + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
Xavier
var idx = viewEntry.getColumnValues().get(2);
var expression = /.*\.(\w.+)$/;
expression.exec(idx);
var extension = RegExp.$1;
var path = "/dossier/dossier/Fichier_" + extension + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
Xavier
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 11:40
14 janv. 2011 à 11:40
Ca ne m'affiche malheureusement rien...
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 11:46
14 janv. 2011 à 11:46
A la limite, je peux aussi me contenter de prendre les 3 premieres lettres de l'extension, ce qui m'arrangerait étant donné que les seules extensions que j'ai a traiter sont des docx, pptx ... donc j'utilise la même icône que pour les doc ou autres.
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 13:03
14 janv. 2011 à 13:03
personne ?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 14:10
14 janv. 2011 à 14:10
Et si tu rajoutes alert(path); après mes modifs (et avant le return), ça donne quoi ?
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 14:20
14 janv. 2011 à 14:20
ca ne donne rien
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 14:24
14 janv. 2011 à 14:24
Même pas une boîte de dialogue vide ?
Et que dit la console d'erreur de Firefox ?
Et que dit la console d'erreur de Firefox ?
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 14:33
14 janv. 2011 à 14:33
Je viens de changer pour ce code qui me ressort 1 erreur :
var idx = viewEntry.getColumnValues().get(1);
var index = idx.indexOf(., 0);
var chaine.substr(index, 3);
var path = "/dossier/Fichier_" + chaine + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString()
var idx = viewEntry.getColumnValues().get(1);
var index = idx.indexOf(., 0);
var chaine.substr(index, 3);
var path = "/dossier/Fichier_" + chaine + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString()
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 14:40
14 janv. 2011 à 14:40
en fait j'ai ca maintenant mais qui ne marche toujours pas:
var idx = viewEntry.getColumnValues().get(1);
var index = idx.lastIndexOf(".");
var chaine = idx.substring(index,index+2);
var path = "/dossier/Fichier_" + chaine + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
var idx = viewEntry.getColumnValues().get(1);
var index = idx.lastIndexOf(".");
var chaine = idx.substring(index,index+2);
var path = "/dossier/Fichier_" + chaine + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
14 janv. 2011 à 14:52
14 janv. 2011 à 14:52
C'est bon, si certains sont interessés par la solution:
var idx = viewEntry.getColumnValues().get(1);
var index = idx.lastIndexOf(".");
var ext = idx.substr(index+1, 3);
var path = "/dossier/Fichier_" + ext + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
merci quand même Reivax962
var idx = viewEntry.getColumnValues().get(1);
var index = idx.lastIndexOf(".");
var ext = idx.substr(index+1, 3);
var path = "/dossier/Fichier_" + ext + ".gif"
url.setPath(path);
url.removeAllParameters();
return url.toString();
merci quand même Reivax962