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 :

document.getElementById avec href


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut document.getElementById avec href
    Bonjour,

    voila au clic d'une liste déroulante je voulais faire un visualisation dans un div de l image choisi j'ai donc fait ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ChangerImage(t) {
       var mSelect = t.options[t.selectedIndex].value;
    document.getElementById('Image').src = mSelect;
     
       var mSelect2 = t.options[t.selectedIndex].text;
    document.getElementById('id_image').href.value="GestGalerie.php"= mSelect2;
     
    }
    ca fonctionne nikel, mais je voulais aussi qu'il envoi cette valeur par GET, j'ai fait ca mais ca ne m'envoir rien, je ne voi pas comment fonctionne le href avec javascript.

    merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Citation Envoyé par kate59 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ChangerImage(t) {
       var mSelect = t.options[t.selectedIndex].value;
    document.getElementById('Image').src = mSelect;
    
       var mSelect2 = t.options[t.selectedIndex].text;
    document.getElementById('id_image').href.value="GestGalerie.php"= mSelect2;
    
    }
    C'est bon ça?

    Citation Envoyé par kate59 Voir le message
    ca fonctionne nikel, mais je voulais aussi qu'il envoi cette valeur par GET, j'ai fait ca mais ca ne m'envoir rien, je ne voi pas comment fonctionne le href avec javascript.
    Regarde du coté AJAX.

    A+.

  3. #3
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    je voulais le faire en GET mais je ne peux du faite que c est un formulaire en post , j ai fais des recherche il y a bc de forum mais pas de solution tres optimiser.

    vous auriez une solution plus simple en ajax, en reprenant je doit recuperer le select selectionner et le mettre dans une variable php donc je dois jouer coté serveur et client mais impossible de trouver qq chose de moins complex.

    merci.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Dans ce cas, tu le concatènes sur l'attribut action du formulaire.

    A+.

  5. #5
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    J'ai créer ceci la fonction fonctionne mais il y a un problème, il affiche bien l image mais après il envoie le ref avec l id mais la photo n apparait plus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function ChangerImage(t,id) {
    var mSelect = t.options[t.selectedIndex].value;
    document.getElementById('Image').src = mSelect;
    var mSelect2 = t.options[t.selectedIndex].text;
    top.document.location = "?ref="+mSelect2+"&id="+id; 
    }
    Comment faire?

    Merci.

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Que veux tu faire exactement ?

    Tu veux que quand tu sélectionnes un élément, ça changes l'image et garder une valeur que tu veux passer en URL quand tu submites le formulaire?
    Ou bien tu veux tout de suite recharger la page en gardant le photo?

    A+.

  7. #7
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    en faites je suis sur un formulaire dessus j'ai une liste deroulante et une zone de texte.Je veux que quand on sélectionne dans la liste déroulante directement dans un div l'image s'affiche grace au src :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var mSelect = t.options[t.selectedIndex].value;
    document.getElementById('Image').src = mSelect;
    et en meme temps dans un div le texte de cette image s'affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var mSelect2 = t.options[t.selectedIndex].text;
    top.document.location = "?ref="+mSelect2+"&id="+id;
    avec le meme clic et en meme temps sans recharger la page.

    merci.

  8. #8
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut deux fonctions avec onchange
    bonsoir,
    voila j'ai créer deux fonctions sr une select avec onchange je fais appel, mais il passe a la premierer puis quand c est la deuxieme il recharge la page et la deuxieme ne fonctionne plus.
    Que faire?

    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
    <script>
    function ChangerImage(t) {
       var mSelect = t.options[t.selectedIndex].value;
    document.getElementById('Image').src = mSelect;
     
       /*var mSelect2 = t.options[t.selectedIndex].text;
    document.getElementById('id_image').value = mSelect2;*/
    }
     
    function ChangerTexte(t,id) {
     
    var mSelect2 = t.options[t.selectedIndex].text;
    top.document.location = "?ref="+mSelect2+"&id="+id; 
    }
    </script>
    appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onChange=\'ChangerTexte(illustration,'.$_GET['id'].');ChangerImage(illustration)\' id="illustration" name="illustration">
    j'ai besoin dans la seconde fonction un reference pour la récupérer dans ma page en variable Php.
    merci.

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    top.document.location = "?ref="+mSelect2+"&id="+id;
    cette instruction fait que la page est rechargée avec la nouvelle URL.
    j'ai besoin dans la seconde fonction un reference pour la récupérer dans ma page en variable Php.
    passes par un formulaire ou mieux via Ajax si tu ne veux pas recharger ta page pour voir l'image.

  10. #10
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    je ne connais pas trop ajax tu pourrais m aider j'ai deja essayer avec le ajax et m y perd.merci.

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    je suis tombé sur
    Citation Envoyé par andry.aime Voir le message
    Regarde ce tutoriel.

    A+.
    as tu donné suite?

  12. #12
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    le l'ai lu et la je comprend que la seule solution serait de remplir la zone de texte avec la bdd avec ajax mais la ca me semble tres loin car je n ai aucune connaisance et que j ai besoin de trouver une solution assez rapidement j aurai donc preference eviter le ajax.Donc la je ne sais pas trop quoi faire, avoir des bases et approfondir en ajax me mettrait au moins plusieurs semaine avant de le controler.Et je doit finir cette page cette semaine.

    en peut ton pas recuperer la valeur avec un return?
    var mSelect2 = t.options[t.selectedIndex].text;
    return mSelect2;

    Car si je comprend c est ce rechargement de page qui ne vas pas, ou ne peut on recharger la page et apres faire appel a la deux fonction onchange pour afficher l image?

    MERCI

  13. #13
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par kate59 Voir le message
    je ne connais pas trop ajax tu pourrais m aider j'ai deja essayer avec le ajax et m y perd.merci.
    Tu peux nous montrer l'essaie que tu as fait pour que l'on puisse le corriger?

  14. #14
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    Bonjour,
    voici le code:
    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
    46
    47
    48
    49
    50
    51
    <script>
    function ChangerImage(t) {
       var mSelect = t.options[t.selectedIndex].value;
    document.getElementById('Image').src = mSelect;
    }
    </script>
    <script type="javascript">
    			function getXhr(){
                                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr;
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function ChangerTexte(t){
    				var xhr = getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						//leselect = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						//document.getElementById('illustration').innerHTML = leselect;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","GestGalerie.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				sel = document.getElementById('illustration');
    				id = sel.options[sel.selectedIndex].text;
    				xhr.send("ref="+id);
    			}
    		</script>
    et la page d'appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onChange=\'ChangerTexte(illustration);ChangerImage(illustration)\' id="illustration" name="illustration" size="5" style="width:150px;">';
    print_r post est desperement vide sur la page d appel.
    Je viens a peine de commencer le AJAX soyez indulgent.
    Je veux juste retourner la valeur selectionner au clic en post vers ma page.
    merci.

Discussions similaires

  1. document.getElementById avec JSF
    Par anisj1m dans le forum JSF
    Réponses: 4
    Dernier message: 13/06/2009, 12h52
  2. Problème avec "document.getElementById"
    Par kuja2053 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/11/2006, 21h04
  3. problème avec document.getElementById
    Par damaskinos dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/10/2006, 20h27
  4. Probleme avec mozilla et document.getElementById...
    Par cerede2000 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 09/05/2006, 21h46
  5. Pb avec document.getElementById
    Par greg49 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/03/2006, 09h21

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