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 :

Récupérer des valeurs lors d'un onSubmit()


Sujet :

JavaScript

  1. #1
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut Récupérer des valeurs lors d'un onSubmit()
    Bonjour à tous,

    J'aimerais récupérer deux valeurs d'un formulaire lors de l'évènement onSubmit(), pour les injecter comme paramètres dans la fonction javascript loadcalandar(month,year).

    J'ai utiliser :

    pour le champ month

    et

    pour le champ year.

    mais en retour je n'ai que des valeurs vides

    loadCalendar("","");
    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
    <?php	
    	// define array
    	$montharray = array('', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); 
     
     
    	function years($selected=''){
    		$yearslist = "<select size='1' name='year'>";
    		for ( $y=1970; $y <2022; $y++ ){
    			if($selected == $y) $yearslist .= "<option selected value='$y'>$y</option>";
    			else $yearslist .= "<option value='$y'>$y</option>";
    		}
    		$yearslist .= "</select>";
    		return $yearslist;
    	}
     
     
    	function months($selected='',$montharray){
    		$monthslist = "<select size='1' name='month'>";
    		for ( $m=1; $m <13; $m++ ){
    			if($selected == $m) $monthslist .= "<option selected value='$m'>$montharray[$i]</option>";
    			else $monthslist .= "<option value='$m'>$montharray[$i]</option>";
    		}
    		$monthslist .= "</select>";
    		return $monthslist;
    	}
     
    	funcion printout(){
     
    		$output ='<div id="select_date">';
    		$output .='<form name="selectmonthyear" action=""/>';
    		$output .= months(date('n'));
    		$output .= years(date('Y'));
    		$output .='<input type="submit" onSubmit="loadCalendar(\"this.month.value\",\"this.year.value\");return false;" value="Go"/>';
    		$output .='</form></div>';
    	}	
     
    	printout();
    ?>

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    si ton element possède un id ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('idchamp').value
    si il a un name

    tu peux passer soit par la collection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName('nomchamps')
    soit par le formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['nomform'].elements['nomchamps']
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    J'ai modifié le code ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $output ='<form name="selectmonthyear" action="" onSubmit="loadCalendar(document.getElementById(\'month\').value.value,document.getElementsById(\'year\').value);return false;" />';
    en retour j'ai :

    <form onsubmit="loadCalendar(document.getElementById('month').value.value,document.getElementsById('year').value);return false;" action="" name="selectmonthyear">
    les valeurs ne sont pas récupérés....

    peut-être une faute d'écriture des paramètres de la fonction ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('month').value.value

    value.value ???
    il ne me semble pas avoir ecrit une telle horreur
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('month').value.value

    value.value ???
    il ne me semble pas avoir ecrit une telle horreur
    Excuses ! erreur de frappe

    mais même pour le deuxiéme paramètre 'year', je n'ai rien en retour.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    tes selects ont des id ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    tes selects ont des id ???
    Oui je les ai ajouté;

    id="month" pour le mois et id="year" pour l'année.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    un petit exemple fonctionnel vaut mieux qu'une chasse au bug ...
    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
    <script type="text/javascript">
    function bar(){
    mois=document.getElementById('month').value
    annee=document.getElementById('year').value
    alert("votre selection :\nmois: "+mois+"\nannée: "+annee)
    return false;
    }
    </script>
    </head>
     
    <body>
    <form action="" name="foo" onsubmit="bar()" >
    <select id="month">
    <option value='janvier'>01</option>
    <option value='fevrier'>02</option>
    <option value='mars'>03</option>
    <option value='avril'>04</option>
    <option value='mai'>05</option>
    <option value='juin'>06</option>
    <option value='juillet'>07</option>
    <option value='aout'>08</option>
    </select>
    <select id="year">
    <option value='90'>1990</option>
    <option value='91'>1991</option>
    <option value='92'>1992</option>
    <option value='93'>1993</option>
    </select>
    <input type="submit" value="go" />
    </form>
     
     
    </body>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Il n'y a pas moyen d'injecter directement les valeurs dans les paramètres de ma fonction ?

    À noter que la fonction loadcalendar($month,$year) est écrit en jQuery.

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    elle est ou cette fonction ? et elle fait quoi

    sinon sur le principe de base oui biensur on peut

    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
    <script type="text/javascript">
    function bar(mois, annee){
    alert("votre selection :\nmois: "+mois+"\nannée: "+annee)
    return false;
    }
    </script>
    </head>
     
    <body>
    <form action="" name="foo" onsubmit="bar(document.getElementById('month').value,document.getElementById('year').value)" >
    <select id="month">
    <option value='janvier'>01</option>
    <option value='fevrier'>02</option>
    <option value='mars'>03</option>
    <option value='avril'>04</option>
    <option value='mai'>05</option>
    <option value='juin'>06</option>
    <option value='juillet'>07</option>
    <option value='aout'>08</option>
    </select>
    <select id="year">
    <option value='90'>1990</option>
    <option value='91'>1991</option>
    <option value='92'>1992</option>
    <option value='93'>1993</option>
    </select>
    <input type="submit" value="go" />
    </form>
     
     
    </body>
     
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    elle est ou cette fonction ? et elle fait quoi
    la voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function loadCalendar(vmonth, vyear){
    	$('#ajax-calendar').html('<div id="loading"><p><img src="ajax-loader.gif" alt="" /></p></div>');
    	$.get("calendar.ajax.php",{month:vmonth,year:vyear},function(data){$('#ajax-calendar').html(data);});
    }

  12. #12
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    elle est ou cette fonction ? et elle fait quoi

    sinon sur le principe de base oui biensur on peut
    Ton exemple fonctionne très bien, mais en appliquant ceci à mon cas, ça ne donne rien en retour !!!!

    En cliquant sur le bouton envoi, je reçois cette erreur, dans l'onglet Console de firebug :

    document.getElementById is not a function

  13. #13
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    C'était un "s" de superflu dans document.getElementsById

    maintenant ça marche.

    Merci SpaceFrog

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/10/2007, 13h35
  2. Récupérer des valeurs dans des fichiers html
    Par nico93100 dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2006, 21h46
  3. récupérer des valeurs de variables de pages en pages
    Par harlock59 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 12h04
  4. Récupérer des valeurs de checkbox dans MySQL
    Par digger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2005, 14h58
  5. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38

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