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 :

creer des liens à la volée ?


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut creer des liens à la volée ?
    Bonsoir à tous,

    Je cherche à créer des liens capables de faire passer des variables en GET.

    j'ai une boucle qui me permet d'obtenir le jour de début et de fin de semaine pour le mois qui à été choisi par l'utilisateur

    Voici la boucle :

    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
     
     
     for(i=0; i<=days; i+=7){ 
     
     var semaine = new Date(debutMois); 
     var finSemaine = new Date(debutMois); 
     semaine.setDate((-(firstDay-1))+i); 
     finSemaine.setDate((7-firstDay)+i); 
     
     dateDu=semaine.getDate()+"-"+(semaine.getMonth()+1)+"-"+semaine.getFullYear(); 
     dateAu=finSemaine.getDate()+"-"+(finSemaine.getMonth()+1)+"-"+finSemaine.getFullYear(); 
     
     document.form1.dateDu.value+="semaine du "+dateDu+" au "+dateAu+"\n"; 
     }; 
     };
    cette boucle me génère par exemple :

    semaine du 30-3-2008 au 5-4-2008
    semaine du 6-4-2008 au 12-4-2008
    semaine du 13-4-2008 au 19-4-2008
    semaine du 20-4-2008 au 26-4-2008
    semaine du 27-4-2008 au 3-5-2008

    je voudrais que chaque ligne soit un lien vers une page à laquelle ils passent une variable correspondant à la semaine concernée.

    Mais si j'écris dans mon script :

    document.form1.dateDu.value+="<a href='maPage.php'>semaine du "+dateDu+" au "+dateAu+"</a>\n";

    j'obtiens ceci :

    <a href='maPage.php'>semaine du 30-3-2008 au 5-4-2008</a>
    <a href='maPage.php'>semaine du 6-4-2008 au 12-4-2008</a>
    <a href='maPage.php'>semaine du 13-4-2008 au 19-4-2008</a>
    <a href='maPage.php'>semaine du 20-4-2008 au 26-4-2008</a>
    <a href='maPage.php'>semaine du 27-4-2008 au 3-5-2008</a>

    qui ne sont pas des liens...

    Pouvez vous me donner un ou deux conseil pour arriver à mes fins ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonjour,
    Dans ta fonction tu as document.form1.dateDu.value , dateDu correspond à un champs, à une div, ou autre ?

    Sinon tu peux faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('dateDu').innerHTML = "<a href='maPage.php'>semaine du "+ dateDu +" au "+ dateAu +"</a>\n";
    Et dans ta page tu créés une <div> :

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Si tu veux passer des informations à une page php tu as plusieurs solutions

    1) Tu crée les informations de date que tu place dans des champs input
    d'un formulaire et tu envoie celui-ci à ta page

    2) Tu crée des liens avec des paramètres dans l'url, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    url = 'maPage.php?du=' + semaine.getDate() + '&au=' + finSemaine.getDate();
    document.getElementById('dateDu').innerHTML = "<a href='" + url + "'>semaine du "+ dateDu +" au "+ dateAu +"</a>\n";
    Coté php tu reçoit un timestamp javavascript qu'il faut diviser par 1000 pour avoir
    un timestamp php. Tu peux aussi passer ta date sous un autre format mais c'est
    moins pratique à traiter coté php, enfin ça dépend de ton application.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Bonjour et merci de vos réponses,

    Le problème c'est que ce que vous me dites là, j'ai essayé jusqu'à 3h00 du mat'... sans aucun résultat

    Rien ne s'affiche dans mon <div> et la console d'erreur de firefox me dit :

    document.getElementById('dateDu') has no properties.

    J'ai même essayé de placer ma <div> hors de mon formulaire... sans plus de résultat

    Voici le fichier en pièce-jointe, si vous pouvez me dire ou se trouve l'erreur ça m'aidera bien

    Merci d'avance

    Bonne journée
    Fichiers attachés Fichiers attachés

  5. #5
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Dans l'id de ta div tu fermes les " mais tu les ouvres pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p align="center"><div id="dateDuDiv"></div></p>

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Merci de ta réponse

    Effectivement ça marche mieux

    Si j'ai trainé cette erreur toute la nuit... j'ai fait assez fort !

    Est ce que tu peux me dire comment faire pour faire apparaitre un bouton radio en bout de ligne plutot qu'un lien direct ? (dans ma boucle FOR)

    ça colerai mieux avec le reste de mon formulaire.

    je lui mettrai comme "value" mes deux variables "dateDu" et "dateAu"

    Merci encore pour le regard externe et bien éveillé

    Bonne journée à tous

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Merci mais ne t'embète pas...

    J'ai résolu ma question très rapidement...

    Maintenant que ma div fonctionne... rien de plus simple.

    Merci beaucoup de ton aide et bonne journée à tous

  8. #8
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    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
    texttmp="";
    for(i=0; i<=days; i+=7){
     
    var semaine = new Date(debutMois);
    var finSemaine = new Date(debutMois);
    semaine.setDate((-(firstDay-1))+i);
    finSemaine.setDate((7-firstDay)+i);
     
    dateDu=semaine.getDate()+"-"+(semaine.getMonth()+1)+"-"+semaine.getFullYear();
    dateAu=finSemaine.getDate()+"-"+(finSemaine.getMonth()+1)+"-"+finSemaine.getFullYear();
    texttmp+="<input type='radio' name='dateDu' value='"+dateDu+"'/>semaine du "+ dateDu +" au "+ dateAu +"<br/>";
    };
     
    document.getElementById('dateDuDiv').innerHTML=texttmp;
    };

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Merci à toi aussi Mathieu

    C'est bien comme ça que j'avais fait.

    Merci encore pour votre coup de main à tous les deux.

    Je vais mettre ce post en "résolu"

    Bonne journée

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

Discussions similaires

  1. Creer des liens hypertextes depuis des images
    Par bpm_180 dans le forum VBA Word
    Réponses: 3
    Dernier message: 21/03/2009, 00h46
  2. lister une table et creer des liens
    Par bilcosby dans le forum Langage
    Réponses: 6
    Dernier message: 29/08/2008, 16h42
  3. creer des liens entre les feuilles avec un bouton
    Par tomy7 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/03/2008, 13h31
  4. Réponses: 5
    Dernier message: 24/01/2006, 01h16
  5. Faire un New pour creer des PictureBox à la volée ?
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/11/2005, 13h09

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