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 :

function change_site() dans nouvelle page


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 126
    Points : 57
    Points
    57
    Par défaut function change_site() dans nouvelle page
    Bonjour!
    Je souhaite mettre en oeuvre le code suivant : http://webmaster.multimania.fr/tips/983409031/# :
    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
     
    <FORM NAME='menu'>
    <SELECT NAME='popup' onChange="change_site();" style="background-color:yellow; color:red" >
    <OPTION VALUE="">Menu
    </OPTION>
    <OPTION VALUE="lien2.html">Communiquer
    </OPTION>
    <OPTION VALUE="lien3.html">Construire
    </OPTION>
    </SELECT>
    </FORM>
    <SCRIPT>
    function change_site() {
    var site = document.menu.popup.selectedIndex;
    window.location.href = document.menu.popup.options[site].value;
    }
    </SCRIPT>
    Je ne parviens pas à ouvrir les liens dans une nouvelle page, comment faire?

    Par ailleurs, si quelqu'un pouvait aussi m'aider à la syntaxe de l'encapsulation en PHP du type echo "";

    Grand merci et bonne journée!

  2. #2
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Points : 3 861
    Points
    3 861
    Billets dans le blog
    6
    Par défaut
    Pour les questions relatives à Javascript et PHP, il faut aller sur les forums correspondants.

    En html, pour ouvrir un lien dans un nouvel onglet ou page, on utilise :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="" target="_blank">texte</a>

    Mais cette pratique est déconseillée pour l'accessibilité.

    PS: La réputation du site où vous avez déniché le code est mauvaise. :/

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 126
    Points : 57
    Points
    57
    Par défaut
    Bonsoir!
    Merci mais rajouter target="_blank" ne fonctionne pas, il faut certainement modifier le code dans la function.
    Merci!!

    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
     
    <FORM NAME='menu'>
    <SELECT NAME='popup' onChange="change_site();" style="background-color:white; color:black" >
    <OPTION VALUE="">Menu
    </OPTION>
    <OPTION VALUE="lien2.html" target="_blank">Communiquer
    </OPTION>
    <OPTION VALUE="lien3.html" target="_blank">Construire
    </OPTION>
    </SELECT>
    </FORM>
    <SCRIPT>
    function change_site() {
    var site = document.menu.popup.selectedIndex;
    window.location.href = document.menu.popup.options[site].value;
    }
    </SCRIPT>

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Peut être un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function change_site() {
    var site = document.menu.popup.selectedIndex;
    window.open(document.menu.popup.options[site].value);
    }
    J'ai pas testé, a essayé bonne chance .

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    Citation Envoyé par josse34 Voir le message
    Bonsoir!
    Merci mais rajouter target="_blank" ne fonctionne pas, il faut certainement modifier le code dans la function.
    Merci!!
    comme l'a indiqué Muchos, l'attribut target="_blank" ne s'applique qu'aux balises <a>

    Pour ce qui est du code HTML une petite mise à jour s'impose :
    - écrire le nom des balises et des événements en minuscules ;
    - préférer l'attribut id à celui de name ;
    - placer le script dans l'entête de la page (entre les balises head).

    Code html : 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
     
    <html>
    <head>
     
    <title></title>
     
    <script type="text/javascript">
    function change_site() 
    {
    var liste = document.getElementById("popup");
    var site = liste.selectedIndex;
    window.open(liste.options[site].value);
     
    }
    </script> 
     
    </head>
     
    <body>
     
    <form id='menu'>
    	<select id='popup' onchange="change_site();" style="background-color:white; color:black" >
    		<option value="">Menu</option>
    		<option value="lien2.html">Communiquer</option>
    		<option value="lien3.html">Construire</option>
    	</select>
    </form>
     
     
    </body>
    </html>

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 126
    Points : 57
    Points
    57
    Par défaut
    Punaise, merci vous êtes formidables!
    J'ai essayé window.open mais comme un abruti je n'ai mis entre parenthèse mais en gardant le = !!
    Résolu, voici la version encapsulée en PHP:
    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
     
    <?php
    echo'<script type="text/javascript">';
    echo'function change_site()'; 
    echo'{';
    echo'var liste = document.getElementById("popup");';
    echo'var site = liste.selectedIndex;';
    echo'window.open(liste.options[site].value);';
    echo'}';
    echo'</script>'; 
    echo'<form id="menu">';
    echo'   <select id="popup" onchange="change_site();" style="background-color:white; color:black" >';
    echo'           <option value="">Menu</option>';
    echo'           <option value="lien2.html">Communiquer</option>';
    echo'           <option value="lien3.html">Construire</option>';
    echo'   </select>';
    echo'</form>';
    ?>
    Grand merci encore et bon week end!!

  7. #7
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    heu...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    // blabla
    echo "a";
    echo "b";
    echo "c";
    ?>

    tu peux l'écrire plus simplement :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    //blabla
    ?>
    a
    b
    c


    ensuite, pour ta redirection, j'utiliserai l'action du form avec un "submit" (en javascript) plutôt qu'un open, je trouve ça plus propre. (la balise form accepte également le target=_blank)

    le mieux du mieux serait de de passer par une page de redirection avec un bouton "submit" (en cas de noscript) sur ton form pour garder simplement la compatibilité pour les utilisateurs sans javascript.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <form id=monform target=_blank method=get action=redirection.php >
    <select id=param name=param >
    <option.... />
    </select>
    <input id=submit type=submit />
    </form>
    <script>
    function $(id){return document.getElementById(id)}
    $('submit').style.display = 'none'; // reste affiché en cas de noscript
    $('param').onchange = function(){
        $('monform ').submit();
    };
    </script>
    après ta page redirection.php utilise la variable $_GET['param'] qui contient un numéro ou une url pour rediriger vers la bonne url.

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

Discussions similaires

  1. ouvrir un lien dans nouvelle page
    Par didinet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 03/04/2009, 14h40
  2. resultat recherche dans nouvelle page
    Par ASP.net dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 10/07/2008, 09h28
  3. Ouvrir fichier dans nouvelle page
    Par crapouye dans le forum ASP.NET
    Réponses: 7
    Dernier message: 13/06/2008, 14h14
  4. ouvrir un lien dans nouvelle page avec css
    Par musicann dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/06/2007, 14h59
  5. ouverture dans nouvelle page
    Par yael_s dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/12/2006, 16h23

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