Javascript

Résolu/Fermé
manuramolo Messages postés 5 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 6 décembre 2007 - 27 nov. 2007 à 15:41
 ... - 18 janv. 2011 à 15:41
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
A voir également:

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
1
...
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
27 nov. 2007 à 16:12
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
1
manuramolo Messages postés 5 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 6 décembre 2007
27 nov. 2007 à 16:58
Merci à vous deux pour ces réponses rapides,

je vais essayer et je vous tiens au courant.

cordialement

Manuel
0
manuramolo Messages postés 5 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 6 décembre 2007
27 nov. 2007 à 21:46
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
28 nov. 2007 à 10:37
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
0
manuramolo Messages postés 5 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 6 décembre 2007
28 nov. 2007 à 22:32
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
0