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 :

Passer une variable de JS a PHP via un submit ?


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Septembre 2013
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bahamas

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 57
    Par d�faut Passer une variable de JS a PHP via un submit ?
    Bonjour tout le monde,
    Pour faire simple et afin que ca soit plus compr�hensible je vais un peu changer la situation de mon probl�me mais la solution est semblable.
    Dans un formulaire j'ai plusieurs listes d�roulantes en HTML et une fonction javascript va regrouper et renvoyer en une valeur les choix des listes. Sur cette page, j'ai un bouton qui, lorsque je clique dessus, il m'affiche la valeur renvoy�e par la fonction javascript via une alert.

    Ce que je souhaiterais faire, c'est supprimer ce bouton (facile) mais via un submit (qui me redirige vers une page verifobjet.php) c'est r�cup�rer la valeur envoy� par le code javascript et pouvoir la trait�e et la mettre dans une variable php.

    Quand je dis que la fonction renvoie la valeur c'est via un onclick:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     onclick="goListGroup(document.listmenu0.firstlevel, document.listmenu0.secondlevel, document.listmenu0.thirdlevel)"
    Code JS:
    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
     
    var onclickaction="alert"
     
    function goListGroup(){
    for (i=arguments.length-1;i>=0; i--){
    if (arguments[i].selectedIndex!=-1){
    var selectedOptionvalue=arguments[i].options[arguments[i].selectedIndex].value
    if (selectedOptionvalue!=""){
    if (onclickaction=="alert")
    alert(selectedOptionvalue)
    else if (newwindow==1)
    window.open(selectedOptionvalue)
    else
    window.location=selectedOptionvalue
    break
    }
    }
    }
    }
    Suis-je oblig� de passer par de l'ajax ?
    Si non, pourriez vous m'aider a trouver une solution sans passer par les name des listes d�roulantes ? Merci

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    AJAX serait la solution la plus facile ici, mais non tu n'es pas oblig�. Il reste possible en JS de modifier l'attribut action de la balise formulaire au onsubmit, pour venir ins�rer tes variables JS puis les r�cup�rer en param�tres d'URL en PHP.

  3. #3
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Pour rester dans l'esprit original de HTTP/HTML
    il suffit d'ajouter un champs hidden au formulaire
    et sur le son submit copier la valeur de la variable dans le champ

    le serveur re�ois la valeur comme pour tous les autres champs de formulaire.

    A+JYT

  4. #4
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Septembre 2013
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bahamas

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 57
    Par d�faut
    N'�tant pas du tout cal� en javascript je regarde sur internet comment faire mais je je suis perdu du aux autres m�thodes possibles que je ne comprends pas non plus ... Vous pourriez me mettre un petit exemple afin que je puisse par la suite adapter avec mon code ?

  5. #5
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Septembre 2013
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bahamas

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 57
    Par d�faut
    J'ai quand m�me essay� en ajax mais je ne comprends pas pourquoi ca ne fonctionne pas.
    Mon 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
     
    function goListGroup(){
    for (i=arguments.length-1;i>=0; i--){
    if (arguments[i].selectedIndex!=-1){
    var selectedOptionvalue=arguments[i].options[arguments[i].selectedIndex].value
    if (selectedOptionvalue!=""){
    if (onclickaction=="alert")
    alert(selectedOptionvalue)
    else if (newwindow==1)
    window.open(selectedOptionvalue)
    else
    window.location=selectedOptionvalue
    break
    }
    }
    }
    $.ajax({
           	url : '../objet/test.php',
           	type : 'POST', 
           	data : 'mavariable1=' + selectedOptionvalue,
        });
    }
    et dans test.php

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    <?php
    include '../connection.php';
    $mavariable2=$_POST['mavariable1'];
    echo $mavariable2;
     ?>

    J'ai un message d'erreur car il ne rep�re pas la variable mavariable1, vous auriez une id�e ?

  6. #6
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Septembre 2013
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bahamas

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 57
    Par d�faut
    j'ai �galement essay� avec ceci mais $_POST['mavariable1'] n'est toujours pas d�tect�e.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "../objet/test.php", true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("mavariable1=" + escape(selectedOptionvalue));
    Vous pouvez m'aider ?

  7. #7
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Sans AJAX
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    var maVariable=45;
     
    myFunction = function() {
     documet.getElementById('pourTransmettreMaVariable').value=maVariable;
     return true;
    }
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <form action="page.php" onsubmit="return myFunction()">
     <input type="hidden" id="pourTransmettreMaVariable" name="mavariable" />
     <input type="submit" value="Submit" />
    </form>

    C'est tout

    A+JYT

  8. #8
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Septembre 2013
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bahamas

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 57
    Par d�faut
    Effectivement c'�tait tout simple .. Un grand merci !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. passer une variable de javascript vers php
    Par marcel marie dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 28/07/2009, 11h01
  2. passer une variable javascript � un script php
    Par kawther dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 7
    Dernier message: 30/03/2007, 17h21
  3. PHP Passer une variable via une liste deroulante
    Par lepierre dans le forum Langage
    R�ponses: 3
    Dernier message: 20/10/2006, 12h09
  4. [PHP-JS] Passer une variable PHP->JS dans une boucle
    Par PedroBD dans le forum Langage
    R�ponses: 2
    Dernier message: 12/05/2006, 11h43
  5. faire passer une variable d'une fct js � une page php
    Par harlock59 dans le forum Langage
    R�ponses: 1
    Dernier message: 25/11/2005, 14h41

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