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 formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    335
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 335
    Par défaut Envoi de formulaire
    Bonjour à tous,

    Je vous donne d'abord mon code html pour que vous m'aidiez à identifier ce que j'ai mal fait parce qu'en cliquant sur le bouton "envoyer" c'est une fenêtre qui me propose d'enregistrer le fichier php que j'ai défini dans le champ "action".
    Le fichier php en question a pour but de récupérer toutes les données de l'utilisateur puis de les envoyer par email au fournisseur

    Que dois-je rectifier, modifier, changer ?

    Merci de votre aide

    Code Html
    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
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <!DOCTYPE html>
    <html lang="fr">
    <head>
         <title>Besoin Client</title>               
    </head>
    <body class="global">
    <form action='formMatCons.php?wanted=matcons' method='post' class='formMatCons'>
     
          <label for="type"><span class="maj">t</span>ype </label>
                             <select name="type">
                             <option class="fers_a_beton" value="fers_a_beton" selected><span class="maj">f</span>er &agrave; b&eacute;ton</option>
    					<option class="toleondulee_toleplane" value="toleondulee_toleplane" ><span class="maj">t</span>&ocirc;le ondul&eacute;e <span class="maj">t</span>&ocirc;le plane</option>
    					<option class="grillages" value="grillages"><span class="maj">g</span>rillages</option>	
    				     <option class="moulures" value="moulures"><span class="maj">m</span>oulures</option>				     
    				     <option class="vitrages" value="vitrages"><span class="maj">v</span>itrages</option>				     
    				       </select>
         <span> <br></span>
     
         <label for="length"><span class="maj">l</span>ongueur </label>
         <input name="length"type="num" placeholder="longueur ?">
         <span> m&egrave;tres <br></span>
     
         <label for="width"><span class="maj">l</span>argeur   </label>
         <input name="width"type="num" placeholder="largeur ?">
         <span> m&egrave;tres <br></span>
     
         <label for="epaisseur"><span class="maj">&eacute;</span>paisseur </label>
         <input name="epaisseur"type="num" placeholder="épaisseur ?">
         <span> mm <br></span>
     
         <label for="quantity"><span class="maj">q</span>uantit&eacute;   </label>
         <input name="quantity"type="num" placeholder="quantité ?">
         <span> <br></span>
     
         <label for="material"><span class="maj">m</span>ati&egrave;re </label>
                             <select name="material">
         				<option class="verre" value="verre" selected><span class="maj">v</span>erre</option>
    					<option class="acier" value="acier" ><span class="maj">a</span>cier</option>
    					<option class="autre" value="autre"><span class="maj">a</span>utre</option>				     
    				     </select>
         <span> <br></span>
     
         <label for="currency"><span class="maj">d</span>evise   </label>
         <select name="currency">
    					<option class="euro" value="euro" selected><span class="maj">E</span>uro</option>
    					<option class="USD" value="USD"><span class="maj">U</span>SD</option>
    	</select>     
         <span> <br></span>
     
         <label for="deliveryplace"><span class="maj">l</span>ieu de livraison </label>
         <input name="deliveryplace"type="text" placeholder="lieu de livraison ?">
         <span> <br></span>
     
         <label for="deliverydate"><span class="maj">p</span>&eacute;riode de livraison   </label>
         <input name="deliverydate"type="text" placeholder="Période de livraison ?">
         <span> <br></span>  
     
         <label for="incoterms"><span class="maj">i</span>ncoterms   </label>
         <select name="incoterms">
         <option class="FOB" value="FOB" selected><span class="maj">F</span>OB</option>
    	<option class="DAP" value="DAP"><span class="maj">D</span>AP</option>
    	</select> 
         <span> <br></span>
     
         <label for="mail "><span class="maj">A</span>dresse email pour r&eacute;ponse </label>
         <input name="mail" type="email">
         <span> <br></span> 
     
     <input name="wanted" type="hidden" value="matcons">   
     <input type="submit">      
     </form>
     
    </body> 
    <a class = "productsReload" href="javascript:history.back()"> Retourner à la page Produits</a>
     
     <script type="text/javascript">
     
         //début fonction addEvent
            function addEvent (ev, func, elem) {
           
            if (elem.addEventListener) {
                elem.addEventListener (ev, func, false);
            }
           
            else if (elem.attachEvent) {              // For IE 8 and earlier versions
                elem.attachEvent('on' + ev, func);
            }
            
            }
         // fin fonction addEvent
    function (productsReload) {
    window.history.back()}
     var return = document.querySelector('.return');  
     addEvent('click', productsReload, return);
     
     </script>
     
    </html>

    Code php : 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
    <?php
    echo"0";
    $email = 'berthe.truc@wanadoo.fr';
    $wanted = $_get['wanted']; 
    switch ($wanted) {
         case 'matcons':
              $type = $_POST['type'];
              $length = $_POST['length'];         
              $width = $_POST['width'];
              $epaisseur = $_POST['epaisseur']; 
              $quantity = $_POST ['quantity']; 
              $material = $_POST['material'];
              $currency = $_POST['currency'];
              $deliveryplace = $_POST['deliveryplace'];
              $deliverydate = $_POST['deliverydate'];
              $incoterms = $_POST['incoterms'];
    $mail = $_POST ['mail'];
    $subject = 'besoin du client' . $mail . 'pour matériaux de construction';
     
    $message = 'Bonjour Mr truc, \n\n Voici ma demande :\n\nType :' . $type . '\t Longueur :' .$length . '\t Largeur :' .$width . '\t Epaisseur :' .$epaisseur . '\t Quantité :' .$quantity . '\t Matière :' .$material . '\t Devise :' .$currency . '\t Lieu de Livraison :' .$deliveryplace . '\t Date de Livraison :' .$deliverydate . "\t Incoterms :" .$incoterms ;                      
    mail($email, $subject, $message);
    break;
    }
    echo"22"
    ?>

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Bonjour,

    - aucune raison d'ajouter wanted=matcons en argument de action;
    - je ne connais pas la syntaxe suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function (productsReload) {
    window.history.back();  
    }
    - après la fermeture de la balise body, il n'y a plus de code à écrire...
    - l'instruction javascript: n'a pas sa place dans une balise de lien (ni ailleurs);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class = "productsReload" href="javascript:history.back()"> Retourner à la page Produits</a>

    - d'autre part, ton history.back() est une curieuse fantaisie pour un formulaire;

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    335
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 335
    Par défaut
    Bonjour,

    Merci pour cette réponse.
    D'abord, le 'wanted' m'est utile pour le php car je réalise dedans un switch sur ce wanted et j'ai par la suite l'intention de rajouter des 'case'.

    Ensuite, pour le 'javascript' écrit dans le formulaire en fait j'avais complètement oublié que je l'avais mis. Merci de me l'avoir signalé. C'était parce que toute la vue de mon site est réalisée en html et javascript. C'était donc pour moi un moyen de faire un bouton de "retour à la page précédente" .

    Enfin, j'ai ajouté un "<script>" en JS pour créer une fonction de retour à la page précédente
    Mais après j'ai pensé qu'elle ne fonctionnait pas c'est pourquoi j'ai ajouté le "javascript:history.back()".
    Mais maintenant je voulais tout d'abord que vous m'aidiez à ce que ce <script> fonctionne pour pouvoir enlever ce "javascript:history.back()".

    Merci beaucoup

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Je t'assure, tant que tu auras des incohérences dans les instructions javascript, inutile d'aller plus loin: mes remarques 1 et 2 n'étaient pas des plaisanteries...
    J'en ajoute une: l'élément ".return" que tu appelles n'existe pas dans ton html;
    Et en plus, return est un mot clé hautement réservé donc tu ne peux donner ce nom à une variable;

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    335
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 335
    Par défaut
    Bonjour,
    Alors j'ai essayé de régler les problèmes évoqués par "javatwister" mais je ne comprends pas comment appeler le script php à partir du html sans indiquer un paramètre dans le champ -action-.
    Voici mon code html. Le code php n'a pas changé.

    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
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    <!DOCTYPE html>
    <html lang="fr">
    <head>
         <title>Besoin Client</title>               
    </head>
    <body class="global">
    <form action='formMatCons.php?wanted=matcons' method='post' class='formMatCons'>
     
          <label for="type"><span class="maj">t</span>ype </label>
                             <select name="type">
                             <option class="fers_a_beton" value="fers_a_beton" selected><span class="maj">f</span>er &agrave; b&eacute;ton</option>
    					<option class="toleondulee_toleplane" value="toleondulee_toleplane" ><span class="maj">t</span>&ocirc;le ondul&eacute;e <span class="maj">t</span>&ocirc;le plane</option>
    					<option class="profiles" value="profiles"><span class="maj">p</span>rofil&eacute;s</option>
    					<option class="treillis_soudes" value="treillis_soudes"><span class="maj">t</span>reillis soud&eacute;s</option>
    					<option class="grillages" value="grillages"><span class="maj">g</span>rillages</option>				     
    				     <option class="contreplaques_isorel" value="contreplaques_isorel"><span class="maj">c</span>ontreplaqu&eacute;s Isorel</option>				     
    				     <option class="lambris_pvc" value="lambris_pvc"><span class="maj">l</span>ambris PVC</option>				     
    				     <option class="moulures" value="moulures"><span class="maj">m</span>oulures</option>				     
    				     <option class="vitrages" value="vitrages"><span class="maj">v</span>itrages</option>				     
    				       </select>
         <span> <br></span>
     
         <label for="length"><span class="maj">l</span>ongueur </label>
         <input name="length"type="num" placeholder="longueur ?">
         <span> m&egrave;tres <br></span>
     
         <label for="width"><span class="maj">l</span>argeur   </label>
         <input name="width"type="num" placeholder="largeur ?">
         <span> m&egrave;tres <br></span>
     
         <label for="epaisseur"><span class="maj">&eacute;</span>paisseur </label>
         <input name="epaisseur"type="num" placeholder="épaisseur ?">
         <span> mm <br></span>
     
         <label for="quantity"><span class="maj">q</span>uantit&eacute;   </label>
         <input name="quantity"type="num" placeholder="quantité ?">
         <span> <br></span>
     
         <label for="material"><span class="maj">m</span>ati&egrave;re </label>
                             <select name="material">
         				<option class="verre" value="verre" selected><span class="maj">v</span>erre</option>
    					<option class="acier" value="acier" ><span class="maj">a</span>cier</option>
    					<option class="plastique" value="plastique"><span class="maj">p</span>lastique</option>
    					<option class="plexiglas" value="plexiglas"><span class="maj">p</span>lexiglas</option>
    					<option class="autre" value="autre"><span class="maj">a</span>utre</option>				     
    				     </select>
         <span> <br></span>
     
         <label for="currency"><span class="maj">d</span>evise   </label>
         <select name="currency">
    					<option class="euro" value="euro" selected><span class="maj">E</span>uro</option>
    					<option class="USD" value="USD"><span class="maj">U</span>SD</option>
    	</select>     
         <span> <br></span>
     
         <label for="deliveryplace"><span class="maj">l</span>ieu de livraison </label>
         <input name="deliveryplace"type="text" placeholder="lieu de livraison ?">
         <span> <br></span>
     
         <label for="deliverydate"><span class="maj">p</span>&eacute;riode de livraison   </label>
         <input name="deliverydate"type="text" placeholder="Période de livraison ?">
         <span> <br></span>  
     
         <label for="incoterms"><span class="maj">i</span>ncoterms   </label>
         <select name="incoterms">
         <option class="FOB" value="FOB" selected><span class="maj">F</span>OB</option>
    	<option class="DAP" value="DAP"><span class="maj">D</span>AP</option>
    	</select> 
         <span> <br></span>
     
         <label for="mail "><span class="maj">A</span>dresse email pour r&eacute;ponse </label>
         <input name="mail" type="email">
         <span> <br></span> 
     
     <input name="wanted" type="hidden" value="matcons">   
     <input type="submit">      
     </form>
     
    <a class = "riton" > Retourner à la page Produits</a>  
     
     <script type="text/javascript">
     
         //début fonction addEvent
            function addEvent (ev, func, elem)   {
           
            if (elem.addEventListener) {
                elem.addEventListener (ev, func, false);
                                       }
           
            else if (elem.attachEvent) {              // For IE 8 and earlier versions
                elem.attachEvent('on' + ev, func);
                                       }       
                                                 }
         // fin fonction addEvent
    function productsReload () { 
    window.history.back;    
    }
     var riton = document.querySelector('.riton');  
     addEvent('click', productsReload, riton);
     
     </script>
     
    </body> 
     
    </html>

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    335
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 335
    Par défaut
    Bonjour,

    alors, excusez-moi, j'ai un peu oublié ce que j'avais codé dernièrement et donc revoici mes codes :

    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
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <!DOCTYPE html>
    <html lang="fr">
    <head>
         <title>Besoin Client</title>               
    </head>
    <body class="global">
    <form action='formMatCons.php' method='post' class='formMatCons'>
     
          <label for="type"><span class="maj">t</span>ype </label>
                             <select name="type">
                             <option class="fers_a_beton" value="fers_a_beton" selected><span class="maj">f</span>er &agrave; b&eacute;ton</option>
    					<option class="toleondulee_toleplane" value="toleondulee_toleplane" ><span class="maj">t</span>&ocirc;le ondul&eacute;e <span class="maj">t</span>&ocirc;le plane</option>
    					<option class="profiles" value="profiles"><span class="maj">p</span>rofil&eacute;s</option>
    					<option class="treillis_soudes" value="treillis_soudes"><span class="maj">t</span>reillis soud&eacute;s</option>		     
    				     <option class="vitrages" value="vitrages"><span class="maj">v</span>itrages</option>				     
    				       </select>
         <span> <br></span>
     
         <label for="length"><span class="maj">l</span>ongueur </label>
         <input name="length"type="num" placeholder="longueur ?">
         <span> m&egrave;tres <br></span>
     
         <label for="width"><span class="maj">l</span>argeur   </label>
         <input name="width"type="num" placeholder="largeur ?">
         <span> m&egrave;tres <br></span>
     
         <label for="epaisseur"><span class="maj">&eacute;</span>paisseur </label>
         <input name="epaisseur"type="num" placeholder="épaisseur ?">
         <span> mm <br></span>
     
         <label for="quantity"><span class="maj">q</span>uantit&eacute;   </label>
         <input name="quantity"type="num" placeholder="quantité ?">
         <span> <br></span>
     
         <label for="material"><span class="maj">m</span>ati&egrave;re </label>
                             <select name="material">
         				<option class="verre" value="verre" selected><span class="maj">v</span>erre</option>
    					<option class="acier" value="acier" ><span class="maj">a</span>cier</option>
    					<option class="plastique" value="plastique"><span class="maj">p</span>lastique</option>
    					<option class="plexiglas" value="plexiglas"><span class="maj">p</span>lexiglas</option>
    					<option class="autre" value="autre"><span class="maj">a</span>utre</option>				     
    				     </select>
         <span> <br></span>
     
         <label for="currency"><span class="maj">d</span>evise   </label>
         <select name="currency">
    					<option class="euro" value="euro" selected><span class="maj">E</span>uro</option>
    					<option class="USD" value="USD"><span class="maj">U</span>SD</option>
    	</select>     
         <span> <br></span>
     
         <label for="deliveryplace"><span class="maj">l</span>ieu de livraison </label>
         <input name="deliveryplace"type="text" placeholder="lieu de livraison ?">
         <span> <br></span>
     
         <label for="deliverydate"><span class="maj">p</span>&eacute;riode de livraison   </label>
         <input name="deliverydate"type="text" placeholder="Période de livraison ?">
         <span> <br></span>  
     
         <label for="incoterms"><span class="maj">i</span>ncoterms   </label>
         <select name="incoterms">
         <option class="FOB" value="FOB" selected><span class="maj">F</span>OB</option>
    	<option class="DAP" value="DAP"><span class="maj">D</span>AP</option>
    	</select> 
         <span> <br></span>
     
         <label for="mail "><span class="maj">A</span>dresse email pour r&eacute;ponse </label>
         <input name="mail" type="email">
         <span> <br></span> 
     
     <input name="wanted" type="hidden" value="matcons">   
     <input type="submit">      
     </form>
     
    <a class = "riton" href="#"> Retourner à la page Produits</a>  
     
     <script type="text/javascript">
     
         //début fonction addEvent
            function addEvent (ev, func, elem)   {
           
            if (elem.addEventListener) {
                elem.addEventListener (ev, func, false);
                                       }
           
            else if (elem.attachEvent) {              // For IE 8 and earlier versions
                elem.attachEvent('on' + ev, func);
                                       }       
                                                 }
         // fin fonction addEvent
    function productsReload () { 
    window.history.back;    
    }
     var riton = document.querySelector('.riton');  
     addEvent('click', productsReload, riton);
     
     </script>
     
    </body> 
     
    </html>


    Code php : 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
    <?php
    echo"0";
    $email = 'berthe.truc@wanadoo.fr';
    $wanted = $_POST['wanted']; 
    switch ($wanted) {
         case 'matcons':
              $type = $_POST['type'];
              $length = $_POST['length'];         
              $width = $_POST['width'];
              $epaisseur = $_POST['epaisseur']; 
              $quantity = $_POST ['quantity']; 
              $material = $_POST['material'];
              $currency = $_POST['currency'];
              $deliveryplace = $_POST['deliveryplace'];
              $deliverydate = $_POST['deliverydate'];
              $incoterms = $_POST['incoterms'];
    $mail = $_POST ['mail'];
    $subject = 'besoin du client' . $mail . 'pour matériaux de construction';
     
    $message = 'Bonjour Mr truc, \n\n Voici ma demande :\n\nType :' . $type . '\t Longueur :' .$length . '\t Largeur :' .$width . '\t Epaisseur :' .$epaisseur . '\t Quantité :' .$quantity . '\t Matière :' .$material . '\t Devise :' .$currency . '\t Lieu de Livraison :' .$deliveryplace . '\t Date de Livraison :' .$deliverydate . "\t Incoterms :" .$incoterms ;                      
    mail($email, $subject, $message);
    break;
    }
    echo"22 voila les flics"
    ?>


    Avec ces 2 fichiers, lorsque l'on clique sur "Envoyer", une fenêtre s'ouvre et on doit choisir entre ouvrir le fichier formMatcons.php ou enregistrer ce fichier formMatcons.php ce qui n'est pas ce que je veux faire puisque je veux envoyer le formulaire par email.

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

Discussions similaires

  1. [IIS - TOMCAT][Struts] Problème de formulaire
    Par tscoops dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 01/02/2005, 14h04
  2. Réponses: 7
    Dernier message: 19/10/2004, 16h12
  3. [STRUTS] problème de formulaire
    Par ultimax dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/07/2004, 15h55
  4. [Struts] Problème de formulaire(s) ...
    Par djoukit dans le forum Struts 1
    Réponses: 8
    Dernier message: 10/03/2004, 23h48
  5. Réponses: 12
    Dernier message: 24/09/2003, 15h26

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