Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[résolu]Problème de chargement d'une page en script [resolu]


fantassin-06

Messages recommandés

Bonjour,

 

J'ai récupéré le script "listes déroulantes" dans le labo de Kewlcat (ici) sur une page xhtml/css.

 

Si l'adaptation du tableau au fonction que je souhaite fonctionne bien, je n'arrive pas à créer de lien hypertexte pour rediriger le choix de l'utilisateur vers une page donnée...

 

Mes connaissances sont très limitées, je débute :P

 

Quelqu'un aurait il une idée?...

 

Merci

Modifié par fantassin-06
Lien vers le commentaire
Partager sur d’autres sites

Tu files un id="" à ta balise qui te sert de lien (balise <a>) et tu changes son attribut href à la volée :

document.getElementById("monLien").href = "http://www.zebulon.fr/";

Enfin, si tu manipules un lien...

 

Si ce que tu veux faire c'est déclencher le chargement de la page, c'est autre chose...

Lien vers le commentaire
Partager sur d’autres sites

Salut Kewlcat,

 

pas tout compris à ton explication :P mais il faut que je manipule ce soir pour me remettre dans le bain.... Quel différence entre manipuler un lien et charger une page? :P

 

Le but est de rediriger à chaque choix une page qui lui correspond. :P

 

Dans tous les cas merci de ta réponse :P

Lien vers le commentaire
Partager sur d’autres sites

  • Modérateurs

Bonjour Fantassin,

 

Je m'immisce sur la pointe des pieds pour te suggérer de regarder les attributs de la fenêtre : il y en a un qui représente son URL, dont on se sert pour les redirections. Je pense qu'il te suffirait alors de forcer la valeur de cet attribut pour provoquer l'enchaînement vers l'URL souhaitée. Sous réserves. Désolé de ne pas être plus précis, mais je n'ai pas de documentation sous la main.

 

@+ :P

Dylav

Lien vers le commentaire
Partager sur d’autres sites

Je ne suis pas certain d'avoir bien compris ce que tu souhaitais faire avec ta liste...

Quelle différence entre manipuler un lien et charger une page?
Le lien, c'est l'élément texte qui est habituellement souligné en bleu et qui change de couleur quand on passe la souris dessus...

Charger une page, c'est modifier l'adresse de la barre d'adresse du navigateur et cliquer sur "Go" (ou appuyer sur Entrée)...

L'un revient à modifier un élément du document, l'autre est une action que l'on demande de faire au navigateur.

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Je pense que l'incompréhension vient du fait que je suis fatigué d'une part et que je me mélange un peu les pinceaux entre le xhtml / le css et le javascript en même temps. Pour les deux premiers j'ai procédé par étapes alors que pour le javascript, je me suis lancé sans connaissance. L'apprentissage ça dépend de la méthode. :P (Alors forcément "ça dépend", ça dépasse ! le père Noël est une ordure)

 

j'ai la tête dans le guidon depuis samedi alors je "s'excuse" de n'avoir pas été clair dans ma demande. :P

 

Pour en revenir sérieusement au lien et au chargement de la page. Effectivement le lien est l'élément texte sur la page courante et le chargement résulte d'une redirection de page... :P

 

Pour être concret, j'ai chargé une page d'exemple sur le serveur (ici). Donc lorsque l'on clique sur choisissez votre côté, il apparait "droite" ou "gauche". En fonction des options "droite" ou "gauche", il apparait des choix (1,2,3,4) ou des choix (A,B,C,D).

 

Au stade de cette exemple, que l'on choisisse (1,2,3,4) ou (A,B,C,D) la redirection s'effectue vers la page "zeb". Alors que je voudrais qu'à chaque choix, corresponde une page différente.

 

D'où j'ai testé de placer un attribut "id" dans le css puis la phrase proposée par Kewlcat dans le script. Puis j'ai fait plein de combinaison. Résultat néant... J'ai essayé d'éplucher des tutos "javascript" sur le net. Si j'ai compris le principe de "var" pour les variables en "script", de "New Array" pour le nombre de variable du tableau, du "#corps de page" pour le tableau en "css" les connaissances accumulées jusqu'ici sont trop sommaires pour me permettre de rediriger en fonction de chaque choix. :P

 

Puis j'ai cherché comme l'a suggérer "Dylav" à forcer l'attribut de la fenêtre mais j'ai pas trouvé. Alors j'ai redirigé par <a href...> pour faire l'exemple.

 

Et donc, je reste sur ma faim, car le résultat recherché c'est de charger une page différente par "choix"!

 

En espérant être plus clair par cet exemple... :P

 

Pfiouuuuuu. Il est vraiment tard et demain réunion toute la matinée...... Je lâche le clavier pour ce soir... bonne nuit à tous. :P

Modifié par fantassin-06
Lien vers le commentaire
Partager sur d’autres sites

Oh là ! Oui, en effet...

En fait, dès que l'on clique sur tout élément inclus dans <a href="..."> (...) </a>, le navigateur va charger la page...

Clique sur la liste vide, tu verras ;-)

 

Le truc, ici, c'est de modifier l'objet window.location quand on sélectionne un élément de la liste.

Donc il nous faut gérer l'évènement onchange() sur la liste déroulante (lancer le chargement si on choisit un élément dans la liste), et pour cela il faut forcer les utilisateurs à changer la valeur (donc mettre un premier élément vide ou ayant pour texte "Faites votre choix"). A ce propos, tu remarqueras que si l'on clique sur la première liste pour sélectionner le premier élément, rien ne se produit. Il faudrait donc faire pareil...

 

A propos des valeurs, tu stockes des nombres dedans mais tu pourrais aussi bien stocker les URL vers lesquelles ces valeurs doivent diriger le navigateur, ainsi, lorsque l'on changera son choix dans la liste déroulante, il suffira d'exécuter window.location.assign(taListe.options[taListe.selectedIndex].value) !

Lien vers le commentaire
Partager sur d’autres sites

Pour info fantassin-06, les liens contenus dans des listes déroulantes ne sont pas suivis par les robots des moteurs de recherche. Donc à déconseiller fortement pour le référencement :P

Lien vers le commentaire
Partager sur d’autres sites

Oh là ! Oui, en effet...

En fait, dès que l'on clique sur tout élément inclus dans <a href="..."> (...) </a>, le navigateur va charger la page...

Clique sur la liste vide, tu verras :P

 

Le truc, ici, c'est de modifier l'objet window.location quand on sélectionne un élément de la liste.

Donc il nous faut gérer l'évènement onchange() sur la liste déroulante (lancer le chargement si on choisit un élément dans la liste), et pour cela il faut forcer les utilisateurs à changer la valeur (donc mettre un premier élément vide ou ayant pour texte "Faites votre choix"). A ce propos, tu remarqueras que si l'on clique sur la première liste pour sélectionner le premier élément, rien ne se produit. Il faudrait donc faire pareil...

 

A propos des valeurs, tu stockes des nombres dedans mais tu pourrais aussi bien stocker les URL vers lesquelles ces valeurs doivent diriger le navigateur, ainsi, lorsque l'on changera son choix dans la liste déroulante, il suffira d'exécuter window.location.assign(taListe.options[taListe.selectedIndex].value) !

Salut,

 

:P

 

ça y es, j'ai réussi à faire comme je voulais.... J'ai pas mal galéré, mais voilà le résultat ici.

 

Hier effectivement, le <a href....> concernait le "<select name="lstart" multiple="multiple">" d'où le problème du lien unique.... Mais avec ce procédé je savais le pourquoi "du clic de la liste vide".

 

Dans mes essaies de la veille, j'avais bien tenté de mettre l'url dans le ".value" mais il me manquait la phrase magique "le onclick="window.location.assign(this.value)" que j'ai trouvé en faisant une synthése des fonctions mis à la disposition sur ce site là et le principe de l'exécution du "windows.location..." que tu m'as suggéré. En ce qui concerne ton lien, je le garde mais il est difficile après une journée de boulot, de traduire des fonctions scripts à partir à partir de la langue de shakespear pour le petit "frenchies" que je suis. Mais je le garde, pour étudier ça à la fraiche pendant mes vacances qui arrivent à grand pas... :P

 

Merci de ton intervention :P

 

Pour info fantassin-06, les liens contenus dans des listes déroulantes ne sont pas suivis par les robots des moteurs de recherche. Donc à déconseiller fortement pour le référencement :P

Salut,

 

merci pour l'info, mais pour l'instant je n'ai pas grand chose à référencer. Je suis plutôt à apprendre de ça et là la conception d'un site web "just for fun or for just learn" :P

 

Mais si un jour je me lançais dans l'aventure du web plus sérieusement je ne manquerai de me souvenir de ton conseille... :P

 

Et un petit coucou à Dylav pour son "immiscicions" :P dans ce problème.

 

A bientôt pour de nouvelles aventures

Lien vers le commentaire
Partager sur d’autres sites

Le problème semble avoir trouvé sa solution.

Ainsi, afin de signaler clairement à ceux qui ont un problème similaire qu'ils ont peut-être une solution toute trouvée (s'ils pensent à utiliser la fonction Recherche en indiquant le mot-clé "résolu" auparavant), et afin de signaler aux autres contributeurs qu'il est inutile de continuer à se creuser la tête sur le problème (à moins d'avoir des suppléments d'informations à apporter pour mieux comprendre ce qui posait problème), un modérateur a préfixé le titre du topic avec la mention [résolu].

Merci, à l'avenir, de bien vouloir prendre à votre charge cette mise à jour quand vous estimez que votre problème a été résolu de manière satisfaisante (et parallèlement, si le problème a disparu "mystérieusement", inutile d'induire les gens en erreur :P) Pour cela, p_edit.gif votre premier message :P

 

:P

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...