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 :

Changer l'action d'un formulaire


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut Changer l'action d'un formulaire
    Bonjour à tous,

    Voila j'ai une boutique en ligne, et j'ai créer une partie commande directe.
    Les revendeur peuvent choisirs directement leur produits par une liste.
    j'ai donc plusieurs pages (collection homme, collection femme...etc), sur chaque apges j'ai la liste de produits correspondant à une collection et l'on peut choisir un produit par une checkbox. En bas de chaque page j'ai un bouton qui permet de soumettre le formulaire et previsionner la commande que l'on veut passer. Seulement, il faut que l'on puisse choisir des produits dans plusieurs collection differentes sans passer plusieurs commande, on choisit des produits dans la collection homme, on clique sur le liens qu iamene sur collection femme on choisit et la on clique sur viosionner la commande on récupère les noms des produits cochés dans la collection homme et la collection femme, de plus si avant de valider la commande, on veut rajouter des produits pour homme on reviens reviens su rla page collection homme et on remarque que les produits précédement choisis sont toujours cochés.
    J'ai pensé à placer les produit en mémoire session, mais pour se faire il faut valider le formulaire non? et donc je voulais savoir si il est possible de mettre sur les liens des autres collections, un Onclick="submit()" mais que celui-ci ne bascule pas sur la page defini dans l'action du formulaire (donc la page visionner la commande) mais sur la page de la collection en question??

  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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tu peux utiliser le onsubmit du form ...
    tu mets par exemple un flag et dans le onsubmit appelles une fonction qui teste le flag et envoie le panier provisoire au serveur par un ajax et continues la selection sur d'autres pages ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut
    Merci SpaceFrog pour ta réponse,
    malheureusement je suis encore très novice, pourrais tu me donner un exemple?
    Je n'ai pas trouvé grand chose sur le flag, pnsubmit.

    Si ca peut aider pour voir se que je veux voici ma page collection homme:

    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
     
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html <?php echo HTML_PARAMS; ?>>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
    <title><?php echo TITLE; ?></title>
    <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
    <link rel="stylesheet" type="text/css" href="stylesheet.css">
    </head>
    <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
    <tr>
     <td width="720">
      <table border="0" cellpadding="0" cellspacing="0">
    <!-- header //-->
    <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
    <!-- header_eof //-->
      </table>
     </td>
    </tr>
    <tr>
      <td width="720">
    <!-- body //-->
    	<table align="center" border="0" width="720" cellspacing="0" cellpadding="0">
    	  <tr>
    	<!-- body_text //-->
        <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
              <tr>
    	            <td align="center" class="pageHeading" height="18" width="200"><?php echo HEADING_TITLE; ?></td>
    				<td class="pageheadingFonce" height="18" width="520"></td>
    	          </tr>
            </table></td>
          </tr>
          <tr>
            <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '3'); ?></td>
          </tr>
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr>
                <td class="main"><?php echo TEXT_INFORMATION; ?></td>
              </tr>
            </table></td>
          </tr>
    	  <tr>
            <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '3'); ?></td>
          </tr>
    	  <tr>
            <td>
            <?php echo tep_draw_form('directbuy', tep_href_link(FILENAME_DIRECTBUY_CONFIRM), 'post'); ?>
            <table border="0" width="100%" cellspacing="0" cellpadding="0">
    		  <tr>
    		    <td colspan="6">
    			  <table border="0" cellpadding="0" cellspacing="0" width="100%">
    			    <tr>
    				  <td class="main" align="center" width="178" height="25"><a class="directbuy" href="directbuy_femme.php" title="Collection Femme">Collection Femme</a></td>
    				  <td width="3" height="15"></td>
    				  <td class="main" align="center" width="178" height="25"><a class="directbuy" href="directbuy_homme.php" title="Collection Homme">Collection Homme</a></td>
    				  <td width="3" height="15"></td>
    				  <td class="main" align="center" width="178" height="25"><a class="directbuy" href="directbuy_enfant.php" title="Collection Enfant">Collection Enfant</a></td>
    				  <td width="3" height="15"></td>
    				  <td class="main" align="center" width="178" height="25"><a class="directbuy" href="directbuy_accessoire.php" title="Collection Accessoires">Accessoires</a></td>
    				</tr>
    			  </table>
    			</td>
              </tr>
    		  <tr>
    			<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '3'); ?></td>
    		  </tr>
    		  <tr>
    			<td class="main" colspan="6" height="10"></td>
    		  </tr>
    		  <tr>
    			<td class="titre_directbuy" colspan="6" height="25" align="center">COLLECTION HOMME</td>
    		  </tr>
    		  <tr>
    			<td class="main" colspan="6" height="10"></td>
    		  </tr>
    		  <tr>
    		    <td class="main" align="center"><?php echo DIRECTBUY_CHECK; ?></td>
    			<td class="main" align="center"><?php echo DIRECTBUY_REF; ?></td>
                <td class="main" align="center"><?php echo DIRECTBUY_PRODUCT; ?></td>
    			<td class="main" align="center"><?php echo DIRECTBUY_COLOR; ?></td>
    			<td class="main" align="center"><?php echo DIRECTBUY_SIZE; ?></td>
    			<td class="main" align="center"><?php echo DIRECTBUY_QUANTITY; ?></td>
              </tr>
    		  <tr>
    			<td class="main" colspan="6" height="10"></td>
    		  </tr>
    <?php
    		$request = tep_db_query("SELECT c.parent_id, pd.products_id, pd.products_name, p.products_ref, p.products_price, s.specials_new_products_price, taille.products_options_values_id, couleur.products_options_values_id, couleur.products_options_values_name AS couleur, taille.products_options_values_name AS taille, pa.options_values_price, (
    pa.options_values_price + p.products_price ) AS final_price, (pa.options_values_price + s.specials_new_products_price ) AS final_price_promo
    FROM products_stock ps, products_description pd LEFT JOIN specials s USING(products_id), products_options_values couleur, products_options_values taille, products_attributes pa, products p, products_to_categories p2c, categories c
    WHERE pd.products_id = ps.products_id
    AND pd.products_id = pa.products_id
    AND pd.products_id = p.products_id
    AND p2c.products_id = pd.products_id
    AND p2c.categories_id = c.categories_id
    AND c.parent_id = 2
    AND SUBSTRING( ps.products_stock_attributes FROM 3 FOR 2 ) = couleur.products_options_values_id
    AND SUBSTRING( ps.products_stock_attributes FROM 8 FOR 2 ) = taille.products_options_values_id
    AND pa.options_values_id = taille.products_options_values_id
    ORDER BY pd.products_name, couleur.products_options_values_id, taille.products_options_values_id ");
     
    while($data = mysql_fetch_assoc($request)) 
      { 
    			if ($data['final_price_promo'] == '') {
    				$final_price = $data['final_price'];
    			} else { 
    				$final_price = $data['final_price_promo'];
    			}
     
    			echo '<tr>
    			<td class="directbuy" width="90" align="center"><input type="checkbox" name="select[]" value="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '-' . $data['products_name'] . '-' . $data['taille'] . '-' . $data['couleur'] . '-' . $final_price . '" /></td>
                <td class="directbuy_ref" width="50">' . $data['products_ref'] . '</td>
    			<td class="directbuy_nom" width="260">' . $data['products_name'] . '</td>
    			<td class="directbuy" width="130" align="center">' . $data['couleur'] . '</td>
    			<td class="directbuy" width="90" align="center">' .$data['taille'] . '</td>
    			<td class="directbuy_check" width="100" align="center"><input class="quantite" type="text" name="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '" /></td>
    			</tr>';
     
    	}
     
    ?>
              <tr>
                <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '3'); ?></td>
              </tr>
            </table>
            </td>
          </tr> 
     
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="0" class="infoBox">
              <tr class="infoBoxContents">
                <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
                  <tr>
                    <td width="10" class="main"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                    <td class="main" align="right"><?php echo tep_image_submit('button_visionner_commande.gif', IMAGE_BUTTON_VISIONNER_COMMANDE); ?></td>
                    <td width="10" class="main"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                  </tr>
                </table></form></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
    <!-- body_text_eof //-->
    <!-- body_eof //-->
      </td>
    </tr>
    <tr>
      <td height="3"></td>
    </tr>
    <tr>
      <td width="720">
        <table border="0" cellpadding="0" cellspacing="0">
    <!-- footer //-->
    <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
    <!-- footer_eof //-->
        </table>
      </td>
    </tr>
    </body>
    </html>
    <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

  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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    désolé faute de frappe ...
    onsubmit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="pageaction.php" onsubmit="fonctionAvantSubmit()" .. >

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut
    merci pour vos reponse je viens de trouver la solution pour le formulaire:

    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
     
    <script language="javascript">
    // fonction pour le cas d'appui sur la touche entrée
    function testsubmit() {
        if (document.directbuy.action=="") return false;
    return true ;
    }
     
    //fonction pour choisir l'action
    function gopage(page)
    {
        document.directbuy.action = page;
        document.directbuy.submit();
    }
    </script>
    ...
    <td class="main" align="right"><a href="javascript:;" onClick="gopage('<?php echo tep_href_link(FILENAME_DIRECTBUY_CONFIRM); ?>')" title="Visionner la commande"><img border="0" alt="Visionner la commande" src="<?php echo tep_output_string(DIR_WS_LANGUAGES . $language . '/images/buttons/' . 'button_visionner_commande.gif'); ?>" /></a></td>
    Et j'applique la même fonction sur mes bouton des autres collections.
    Me reste plus qu'à gerer les mise en session.

    Merci à vous

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut
    J'ai un petit problème, je viens de me rendre compte que la fonction gopage() ne fonctionne pas sous ie6...
    Je n'ai pas trouvé de solution pour le remplacé, auriez-vous une idée??

  7. #7
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    onClick = > onclick ?

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="javascript" type='text/javascript'>

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut
    C'est à dire

    onClick = > onclick ?

    Se n'est pas bon se qu iest marqué??

    J'ai repris le script devellopez.com
    http://javascript.developpez.com/faq...bjs#BoutSubmit

  9. #9
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    pas de majuscules ....

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut
    Non j'ai fait les 2 modifs mais rien à faire ca veut pas.
    Dès que je suis sous ie6 les lien qui comporte un gopage() ne fonctionnent pas...

  11. #11
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    mets un àpres dasn le onclick et juste un # dans le href

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class="main" align="center" width="178" height="25"><a class="directbuy" href="#" onclick="gopage('<?php echo tep_href_link(FILENAME_DIRECTBUY_MAN); ?>'); return false" title="Collection Homme">Collection Homme</a></td>
    J'ai mis la bonne syntaxe pour le return??

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 105
    Points : 39
    Points
    39
    Par défaut
    C'est bon ca fontionne merci beaucoup

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

Discussions similaires

  1. Changer l'action d'un formulaire fichiers multiple
    Par monlou dans le forum jQuery
    Réponses: 5
    Dernier message: 04/06/2014, 18h41
  2. Changer action d'un formulaire suivant l'option
    Par fredaster31 dans le forum Langage
    Réponses: 2
    Dernier message: 31/12/2012, 15h58
  3. Réponses: 8
    Dernier message: 04/04/2007, 11h16
  4. Changer l'action d'un formulaire
    Par Ceubex dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/07/2006, 15h28
  5. Changer l'action d'un formulaire en cliquant sur un radio
    Par yoyot dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/10/2005, 13h59

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