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 :

Envoi de données de formulaire


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Envoi de données de formulaire
    Bonjour à tous

    Je suis débutant dans les langages du WEB, et suis un étudiant ayant pris une option pour apprendre à créer des site web. Bref,

    - je dois rendre un travail dont le but: Transmettre les données d'un formulaire (coté client) à un script PHP ( coté serveur).
    - Petite précision, les valeurs du formulaire doivent être traitées par JavaScript

    J'ai mon formulaire (créer en HTML), avec ma fonction sortie() qui à récupé les valeurs.

    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
    52
    53
    54
    55
    56
    57
    function sortie(nom,sexe,commentaires) {
     
    	var nom,sexe,commentaires;
    	var windows,linux,systeme_expl;
    	var logiciels,msoffice,openoffice,ftpexpert,fillezilla;
     
     
    	//INITIALISATION DES VARIABLES
     
    	windows = '';
    	linux = '';
     
    	msoffice = '';
    	openoffice = '';
    	ftpexpert = '';
    	fillezilla = '';
     
        //TRAITEMENT - POUR LES CASES A COCHER WINDOWS ET LINUX
     
        if (document.f1.os1.checked == true && document.f1.os2.checked == true){
          systeme_expl = 'Utilise les 2 systèmes, Windows et Linux, en dual Boot je suppose ! !';
        }
        else if (document.f1.os1.checked == true && document.f1.os2.checked == false){
          windows = 'Utilise Windows';
          systeme_expl = windows + linux ;
        }
        else if (document.f1.os1.checked == false && document.f1.os2.checked == true){
          linux = 'Utilise Linux';
          systeme_expl = windows + linux ;
        }
        else if (document.f1.os1.checked == false && document.f1.os2.checked == false){
          systeme_expl = 'Utilise aucuns des 2 systèmes...Avez-vous un MAC ??!!' ;
        }
     
    	//TRAITEMENT - POUR LE MENU DEROULANT LOGICIEL
     
    	if(document.forms[0].logs.options[0].selected == true){
    		msoffice = 'Utilise MS Office';
    	}
    	if(document.forms[0].logs.options[1].selected == true){
    		openoffice = 'Utilise Open Office';
    	}
    	if(document.forms[0].logs.options[2].selected == true){
    		ftpexpert = 'Utilise FT Expert';
    	}
    	if(document.forms[0].logs.options[3].selected == true){
    		fillezilla = 'Utilise Fillezilla';
    	}
    	logiciels = msoffice + openoffice + ftpexpert + fillezilla;
     
    	//ENVOIS DES VARIABLES VERS PAGE PHP
     
    	windows.open('resultat.php');		
     
     
    return false;
    }

    Je ne sais pas si tout est juste, mais en faisant des alertes de chaque variables (donc au final j'en ai 5 , nom, sexe, systeme_expl, logiciels, commentaires), cela s'affiche normalement.

    - Je dois les envoyées sur une autre page 'resultat.php', donc dans mon formulaire j'ai mis : (NB : je dois obligatoirement utiliser method POST)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="f1" method=post onSubmit="return(sortie(f1.nom.value,f1.sexe.value,f1.commentaires.value))" action="resultat.php">

    - Ma page 'resultat.php' est comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    echo $_POST['nom'];  
    echo $_POST['sexe'];
    echo $_POST['systme_expl'];
    echo $_POST['logiciels'];
    echo $_POST['commentaires'];
    ?>

    - PROBLEME : les varibles 'nom' 'sexe' 'commantaires' s'affichent correctement, mais PAS 'systeme_expl' et 'logiciels' soient les 2 variables avec lesquelles j'ai fait des opérations (parce que checkbok, et <select> à choix multiple).

    - Pour ces variables, j'ai le droit à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice: Undefined index: systme_expl in C:\wamp\www\resultat.php on line 4
     
    Notice: Undefined index: logiciels in C:\wamp\www\resultat.php on line 5
    =================================================

    J'ai essayé des solutions genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Avant d'utiliser $_POST['truc']
    if (isset($_POST['truc']))
    {
              // Instructions si $_POST['truc'] existe
    }
    Mais rien n'y fais, quand je fais ca par exemple, rien ne s'affiche.


    ==============================================

    Je vous demande donc de me donner un petit coup de pouce pour un débutant comme moi et vous souhaite à tous une très bonne journée

    Merci, cordialement.

  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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    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
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    +2 SpaceFrog,
    1- Tu n'envoies pas ton formulaire mais tu tentes d'ouvrir un pop-up.
    2-
    function sortie(nom,sexe,commentaires) {

    var nom,sexe,commentaires;
    Tu crées des variables locales avec les mêmes noms que les paramètres de la fonction.

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci à tous

    Bon, alors repartons sur de bonnes bases : pouvez vous m'aidez :

    Voici mon formulaire en HTML :

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    <form name="f1" method=post onSubmit="return(sortie(MES VALEURS, MAIS LESQUELLES ???))" action="resultat.php">
     
      <table border="1">
     
     
          <!--TITRE-->
     
           <tr>
     
            <td align="center" colspan="2" style="font-weight: bold; text-decoration: underline; color: rgb(255, 0, 0);"> <strong>Le Petit Questionnaire !</strong></td>
     
          </tr>
     
     
          <!--CHAMP TEXTE NOM ET PRENOM-->
     
          <tr>
     
            <td>Nom et Prénom :</td>
            <td><input name="nom" size="46" type="text"></td>
     
          </tr>
     
     
          <!--BOUTONS RADIO SEXE-->
     
          <tr>
     
            <td>Votre sexe :</td>
            <td align="center">
            <input name="sexe" type="radio" value="Homme" onclick="f1.sexe.value='Homme'">Je suis un homme&nbsp;
    		<input name="sexe" type="radio" value="femme" onclick="f1.sexe.value='Femme'">Je suis une femme</td>
     
          </tr>
     
     
          <!--BOUTONS A COCHER O-SYSTEME-->
     
            <tr>
     
            <td>Vous utilisez : <em>(les 2 sont possibles)</em></td>
            <td align="center">
            <input name="systeme1" type="checkbox" value="Utilise Windows" onchange="Utilise PAS Windows">Windows
    		<input name="systeme2" type="checkbox" value="Utilise Linux">Linux</td>
     
    		<input type="hidden" id="nowindows" value="Utilise pas windows"	>	 
           </tr>
     
     
          <!--MENU DEROULANT LOGICIELS-->
     
          <tr>
     
            <td>Vos logiciels préférés :</td>
            <td align="center">
            <select multiple="multiple" size="4" name="logs"> 
    			<option value="ms_office">Microsoft Office</option>
    			<option value="open_office" >Open Office</option>
    			<option value="ftp_expert" >FTPExpert</option>
    			<option value="fillezilla">FileZilla</option>
    		</select>
            </td>
     
          </tr>
     
     
          <!--TEXTAREA POUR LES COMMENTAIRES-->
     
          <tr>
     
            <td>Commentaires éventuels :</td>
            <td align="center">
            <TEXTAREA rows="5" cols="35" name="commentaires"></TEXTAREA>
            </td>
     
          </tr>
     
     
          <!--BUNTON ENVOYER ET RESET-->
     
          <tr>
     
           <td  colspan="2" align="center"><br>
           <input type="submit" value="Envoyer vos réponses !"> <span style="text-decoration: underline;">ou alors</span>
           <input type="reset" value="Recommencer tout !">
           </td>
     
          </tr>
      </table>
    </form>

    Voila, comment traiter les informations avec javascript (donc la fonction sortie) et comment envoyer ces informations traitées vers une page "resultat.php"


    MERCI A TOUS et très bonne soirée

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Points : 330
    Points
    330
    Par défaut
    Ca onclick="f1.sexe.value=... c'est pas utile du tout. Les valeurs vont se mettre seule.

    select multiple="multiple" size="4" name="logs"
    Pour du multiple, ajoute "[]" au name : name="logs[]"

    A vrai dire, je ne comprends pas trop ton problème. Ton formulaire va être transmis à ton script php tel que, sans que tu aies besoin de faire quoi que ce soit en javascript ("sortie()" ???), sauf si tu souhaites faire un contrôle de surface avant le submit.
    Si tu veux "window.open('resultat.php');" (sans 's' à window) n'est pas utile. Un simple "return true" suffit.

  6. #6
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse kernelfailure

    A vrai dire, je ne comprends pas trop ton problème. Ton formulaire va être transmis à ton script php tel que, sans que tu aies besoin de faire quoi que ce soit en javascript ("sortie()" ???), sauf si tu souhaites faire un contrôle de surface avant le submit.
    Je suis obligé, se sont les consigne pour le travail que j'ai a faire.

    Donc je dois avoir mon formulaire, envoyé les valeurs des champs dans une fonctions javascript qui va les "trier" et enfin envoyé le tout vers ma page javascript.

    Personne n'a une idée ?

    Un grand merci à tous et bonne journée

Discussions similaires

  1. Envoi de données par formulaire
    Par infoad31 dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2011, 13h01
  2. [Flex3] Envois de données par formulaire
    Par DBA_OCP dans le forum Flex
    Réponses: 8
    Dernier message: 24/12/2010, 11h59
  3. [MySQL] Envoi de données dans formulaire d'édition
    Par knebhi dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 03/08/2009, 16h24
  4. [MySQL] message d'erreur lors de l'envois des données du formulaires
    Par paolo129 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/12/2008, 17h14
  5. [AJAX] envoie de données à un formulaire de manière asynchrone
    Par comcom94 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/10/2008, 18h09

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