Javascript
Résolu
manuramolo
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
... -
... -
Bonjour
Voici mon problème qui va sans doute vous sembler élémentaire.
J'ai un répertoire nommé documents qui contient des fichiers pdf.
Ces fichiers sont nommés ainsi annee_commune_element.pdf
exemple :2004_c38185_profil.pdf
Les personnes accédant à la page peuvent lancer une recherche d'un fichier par l'intermédiaire de 3 menus déroulants, un pour chaque varaiable :annee, commune, element.
lorsqu'ils valident celà lance la fontion javascript que j'ai créé.Jusqu'ici pas de soucis.
Voici la fonction :
<script language = "javascript">
var commune;
var annee;
var element;
var adresse;
function chemin_fichier (annee, commune, element)
{
adresse ="documents" + "/" + annee + "_" + "c" + commune + "_" + element + ".pdf" ;
}
</script>
Dnas le body dans chaque menu il y a :(je ne vais pas mettre tout le code)
menu1:
<td height="15" align="center"><SELECT onChange="annee=this.options[this.selectedIndex].value">
<OPTION value "" selected>......
menus2 :
<td height="15" align="center"><SELECT onChange="commune=this.options[this.selectedIndex].value">
<OPTION value "" selected>.....
menu3:
<SELECT onChange="element=this.options[this.selectedIndex].value">......
enfin dans le valider :
<input type="button" name="Valider" value="Valider" OnChange="javascript :chemin_fichier(annee, commune, element);window.open(adresse);" >
Celà marche très bien seulement voilà si le document recherché n'existe pas par exemple 2004_c01053_CC.pdf,
celà affiche une page Erreur 404 not found..normal me direz-vous mais pour que la personne sache que ce document n'existe pas dans mon rep je voudrais afficher un message d'alerte disant "Ce document n'existe pas"
Mais je ne sais pas comment dire en javascript si la page s'ouvre en "not found" affiche l'alerte
J'ai essayé ceci en autres mais sans succès:
j'ai supprimé dans le "valider" : window.open(adresse);
et j'ai modifié ma fonction
<script language = "javascript">
var commune;
var annee;
var element;
var adresse;
function chemin_fichier (annee, commune, element){
adresse ="documents" + "/" + annee + "_" + "c" + commune + "_" + element + ".pdf" ;
F = window.open(adresse);
if(F=null)
{alert ("Ce document n'existe pas");}
}
</script>
J'ai essayé d'autres trucs mais quand ça marche l'alerte s'affiche même quand le document existe (-:
Pardon d'avoir été long mais je voulais être clair
Merci d'avance pour votre aide
cordialement
Manuel
Voici mon problème qui va sans doute vous sembler élémentaire.
J'ai un répertoire nommé documents qui contient des fichiers pdf.
Ces fichiers sont nommés ainsi annee_commune_element.pdf
exemple :2004_c38185_profil.pdf
Les personnes accédant à la page peuvent lancer une recherche d'un fichier par l'intermédiaire de 3 menus déroulants, un pour chaque varaiable :annee, commune, element.
lorsqu'ils valident celà lance la fontion javascript que j'ai créé.Jusqu'ici pas de soucis.
Voici la fonction :
<script language = "javascript">
var commune;
var annee;
var element;
var adresse;
function chemin_fichier (annee, commune, element)
{
adresse ="documents" + "/" + annee + "_" + "c" + commune + "_" + element + ".pdf" ;
}
</script>
Dnas le body dans chaque menu il y a :(je ne vais pas mettre tout le code)
menu1:
<td height="15" align="center"><SELECT onChange="annee=this.options[this.selectedIndex].value">
<OPTION value "" selected>......
menus2 :
<td height="15" align="center"><SELECT onChange="commune=this.options[this.selectedIndex].value">
<OPTION value "" selected>.....
menu3:
<SELECT onChange="element=this.options[this.selectedIndex].value">......
enfin dans le valider :
<input type="button" name="Valider" value="Valider" OnChange="javascript :chemin_fichier(annee, commune, element);window.open(adresse);" >
Celà marche très bien seulement voilà si le document recherché n'existe pas par exemple 2004_c01053_CC.pdf,
celà affiche une page Erreur 404 not found..normal me direz-vous mais pour que la personne sache que ce document n'existe pas dans mon rep je voudrais afficher un message d'alerte disant "Ce document n'existe pas"
Mais je ne sais pas comment dire en javascript si la page s'ouvre en "not found" affiche l'alerte
J'ai essayé ceci en autres mais sans succès:
j'ai supprimé dans le "valider" : window.open(adresse);
et j'ai modifié ma fonction
<script language = "javascript">
var commune;
var annee;
var element;
var adresse;
function chemin_fichier (annee, commune, element){
adresse ="documents" + "/" + annee + "_" + "c" + commune + "_" + element + ".pdf" ;
F = window.open(adresse);
if(F=null)
{alert ("Ce document n'existe pas");}
}
</script>
J'ai essayé d'autres trucs mais quand ça marche l'alerte s'affiche même quand le document existe (-:
Pardon d'avoir été long mais je voulais être clair
Merci d'avance pour votre aide
cordialement
Manuel
6 réponses
ATTENTION
if(F=null) affecte la valeur NULL à F, car l'opérateur = est un opérateur d'affectation
don (F=null) est toujours vrai
La comparaison se fait avec ==
if(F == null)
cordialement
if(F=null) affecte la valeur NULL à F, car l'opérateur = est un opérateur d'affectation
don (F=null) est toujours vrai
La comparaison se fait avec ==
if(F == null)
cordialement
...
...
Bonjour,
Tu peux vérifier que le fichier existe avant d'ouvrir ta popup en utilsant la fonction décrite ci-dessous (trouvée sur le site Microsoft):
function ReportFileStatus(filespec)
{
var fso, s = filespec;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FileExists(filespec))
s += " exists.";
else
s += " doesn't exist.";
return(s);
}
Donc, ton nouveau code serait à peu près celui-ci
<script language = "javascript">
var commune;
var annee;
var element;
var adresse;
function chemin_fichier (annee, commune, element)
{
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
adresse ="documents" + "/" + annee + "_" + "c" + commune + "_" + element + ".pdf" ;
if (fso.FileExists(adresse))
{
window.open(adresse);
}
else
{
alert ("Ce document n'existe pas");
}
}
</script>
Tu devras peut-être mettre le chemin complet dans ton adresse pour vérifier l'existence, si c'est le cas utilise une deuxième variable qui sera égale a adresse plus par exemple 'c:\mesfichiers"
A plus
Tu peux vérifier que le fichier existe avant d'ouvrir ta popup en utilsant la fonction décrite ci-dessous (trouvée sur le site Microsoft):
function ReportFileStatus(filespec)
{
var fso, s = filespec;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FileExists(filespec))
s += " exists.";
else
s += " doesn't exist.";
return(s);
}
Donc, ton nouveau code serait à peu près celui-ci
<script language = "javascript">
var commune;
var annee;
var element;
var adresse;
function chemin_fichier (annee, commune, element)
{
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
adresse ="documents" + "/" + annee + "_" + "c" + commune + "_" + element + ".pdf" ;
if (fso.FileExists(adresse))
{
window.open(adresse);
}
else
{
alert ("Ce document n'existe pas");
}
}
</script>
Tu devras peut-être mettre le chemin complet dans ton adresse pour vérifier l'existence, si c'est le cas utilise une deuxième variable qui sera égale a adresse plus par exemple 'c:\mesfichiers"
A plus
Merci à vous deux pour ces réponses rapides,
je vais essayer et je vous tiens au courant.
cordialement
Manuel
je vais essayer et je vous tiens au courant.
cordialement
Manuel
Bonsoir
je viens de penser à quelque chose :
l n'est pas possible en JavaScript de tester l'existance d'une page. En effet, le JavaScript est exécuté côté client et je veux tester si un document situé sur mon serveur existe bien.
Il faudriat que je crée une page test mais je ne vois pas comment
cordialement
Manuel
je viens de penser à quelque chose :
l n'est pas possible en JavaScript de tester l'existance d'une page. En effet, le JavaScript est exécuté côté client et je veux tester si un document situé sur mon serveur existe bien.
Il faudriat que je crée une page test mais je ne vois pas comment
cordialement
Manuel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
J'ai trouvé sur le site Javascriptfr.com un petit tuto expliquant comment récupérer l'erreur 404 et afficher une page prédefinie avec ton propre texte, du style "Votre demande n'existe pas"
Tuto Erreur 404
Si celà peut t'aider.
A plus
J'ai trouvé sur le site Javascriptfr.com un petit tuto expliquant comment récupérer l'erreur 404 et afficher une page prédefinie avec ton propre texte, du style "Votre demande n'existe pas"
Tuto Erreur 404
Si celà peut t'aider.
A plus
Bonsoir
Finallement tout n'est pas faisable en javascript ; j'ai donc opté pour la création d'une page de test en php et celà marche bien.
En fait je récupère les valeurs des varaibles au moment du submit et en php je fais une recherche de fichier sur le serveur (If File Exist..) et voilà
Merci beaucoup pour votre aide ; si je le peux j'espère pouvoir aider à mon tour amis je plutôt en PHP
Cordialement
Manuel
Finallement tout n'est pas faisable en javascript ; j'ai donc opté pour la création d'une page de test en php et celà marche bien.
En fait je récupère les valeurs des varaibles au moment du submit et en php je fais une recherche de fichier sur le serveur (If File Exist..) et voilà
Merci beaucoup pour votre aide ; si je le peux j'espère pouvoir aider à mon tour amis je plutôt en PHP
Cordialement
Manuel