IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Problème document.write


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut Problème document.write
    Bonjour, j'essaie de faire un explorateur de fichier, seulement les liens créés par celui ci ne fonctionne pas, et je ne sais pas pourquoi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <html>
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
    </head>
     
    <body>
    <script type="text/javascript">
    var fso;
    fso = new ActiveXObject('Scripting.FileSystemObject');
     
    function replace(str, search, rep) //remplace l'occurence d'une sous chaine dans une chaine par une autre...
    {
    var result="";
    	for(i=0;i<=str.length-search.length;i++)
    	{
    		if (str.substring(i,i+search.length) == search)
    		{
    			result += rep;
    		}
    		else
    		{
    			result += str.substring(i,i+search.length);
    		}
    	}
    return result;
    }
     
    function listsubfolders(folder)//liste les sous dossier d'un répertoire
    {
    folder = fso.GetFolder(folder); 
    var ssfolders=new Enumerator(folder.subfolders); 
    	for (; !ssfolders.atEnd(); ssfolders.moveNext()) 
    	{
    		document.write("<br><a class=\"linkfolder\" href=\"#\" onclick=\"listsubfolder(\'" + replace(String(ssfolders.item()),"\\","\\\\") + "\');\">"+ ssfolders.item()+"</a>"); 
    		alert("<br><a class=\"linkfolder\" href=\"#\" onclick=\"listsubfolder(\'" + replace(String(ssfolders.item()),"\\","\\\\") + "\');\">"+ ssfolders.item()+"</a>");
    	} 
    }
     
     
    </script>
    <a class="linkfolder" href="#" onclick="listsubfolders('c:\\');">lien qui marche</a>
    </body>
    </html>
    Pourtant le premier lien marche...
    Quelqu'un aurait-il une idée ??

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    t as oublié un s :
    onclick=\"listsubfolders(

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    Oui, c'est déja ça
    Par contre, ça ne fonctionne toujours pas, même après avoir remplacé... :s

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    rajoutes un / a la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          document.write("<br><a class=\"linkfolder\" href=\"#\" onclick=\"listsubfolder(\'" + replace(String(ssfolders.item()),"\\","\\\\") + "/" + "\');\">"+ ssfolders.item()+"</a>");

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    J'ai essayé, ça ne marche toujours pas :'(
    J'ai bien remis le S, j'ai rajouté le slash.
    Au fait, pourquoi le fait de rajouter un slash devrait marcher?
    Sous IE, j'ai une erreur 'ligne 1, car 1, objet attendu', j'ai essayer de mettre la déclaration du fso dans la fonction mais ça ne donne rien...
    Une autre idée ?

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    J'ai l'impression que ma fonction est "supprimée", car si dans le lien je mets onclick="alert('toto');" cela m'affiche toto, mais onclick="alert(listsubfolders);" ne donne rien, même pas une msgbox vide , alors que si je le fais avant d'éxécuter la fonction ça marche très bien.
    La franchement je cale...

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    J'ai finalement trouvé une solution qui semble marcher

    Au lieu d'utiliser un document.write, je déclare une <div id="tata">
    et j'utilise document.getElementById("tata").innerHTML=str;
    ou str est la string contenant tout les liens(a la place de document.write(xxx) on met str+=xxx, et on écrit a la fin de la fonction!!)

    Merci quand même!

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    ah oui, je recré ton objet a la fin de ta fonction moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for (; !ssfolders.atEnd(); ssfolders.moveNext())
       {
         ...
       }
    fso = new ActiveXObject('Scripting.FileSystemObject');
    }
    et je fais un innerHTML aussi désolé

  9. #9
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    C'est pas grave, merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Document.write et EditorFor
    Par Invité dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 29/05/2013, 15h25
  2. [PHP-JS] problème avec mon document.write
    Par kevinf dans le forum Langage
    Réponses: 18
    Dernier message: 06/10/2006, 06h27
  3. Problème avec document.write()
    Par d.w.d dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/01/2006, 12h06
  4. plusieurs document.write dans une meme page
    Par Loko dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/07/2005, 17h16
  5. document.write sur un target _blank
    Par petitsims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/02/2005, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo