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 :

1 formulaire, 2 boutons mais 1 ne fonctionne pas


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur Technique Backoffice
    Inscrit en
    Janvier 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur Technique Backoffice

    Informations forums :
    Inscription : Janvier 2009
    Messages : 43
    Points : 44
    Points
    44
    Par défaut 1 formulaire, 2 boutons mais 1 ne fonctionne pas
    Bonjour à tous,

    Je ne suis pas un grand expert de Javascript et j'utilise des petites fonctions prises a droite a gauche pour mon utilisation mais la j'ai besoin d'un coup de pouce.

    En fait, j'ai un formulaire pour lequel je veux avoir le chois entre 2 actions:
    - Envoyer pour intégration des données
    - retour à l'envoyeur pour modification

    Il s'agit d'un formulaire de validation de demande.

    La déclaration de mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="f_art_creation" method="post" onSubmit="return controleART_Classification();" action="index.php?page=art_visu">
    Mes boutons:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="submit" name="bt_article" class="bt_validation" value="G&eacute;n&eacute;rer les fichiers d'importation" />
    <br /><br />
    <input type="button" name="bt_modification" class="bt_modification" onClick="art_modif()" value="Demander une modification de la demande" />
    Le premier bouton "bt_article" doit donc envoyé pour intégration le formulaire a ma page définie dans action de mon form.
    Le second bouton "bt_modification" doit envoyé a la meme page mais avec un traitement différent les informations.
    J'ai donc mis sur le onClick de ce bouton la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function art_modif()
    {
    	var formulaire = document.f_art_creation
     
    	if(formulaire.f_commentaire.value.length==0)
    	{
    		alert("Merci de remplir le champ commentaire si vous voulez que le demandeur apporte une modification a sa demande");
    	}
    	else
    	{
    		formulaire.submit();
    	}
    }
    Le problème c'est que si la valeur de mon champs f_commentaire est non nul et que je fais le formulaire.submit();, je ne recupère rien dans ma variable $_POST sur ma page art_visu ...
    Ce qui est génant car je test en fait en php if(isset($_POST['bt_modification'])) pour faire mon traitement.

    Auriez vous une piste a me donner sur le fonction du formulaire.submit() pour récupérer mes valeurs?

    note: la fonction onSubmit="return controleART_Classification();" sur le formulaire controle simplement si les champs (les autres) ne sont pas vide. Sans cette fonction, je n'ai pas plus de resultats sur mon $_POST

    note2: le bouton submit "bt_article" fonctionne bien.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    un bouton n'est pas envoyé avec le formulaire.
    Tu peux ajouter un input type="hidden" dans ton form, que tu alimentes en tout début du onclick du type="button" (avant art_modif()), et que tu vides dans le onclick du type="submit".
    C'est le contenu de cet input hidden que tu pourras tester dans ton PHP ...

    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Directeur Technique Backoffice
    Inscrit en
    Janvier 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur Technique Backoffice

    Informations forums :
    Inscription : Janvier 2009
    Messages : 43
    Points : 44
    Points
    44
    Par défaut
    merci pour la reponse

    cependant, ce n'est pas specialement la valeur du bouton que je veux mais bien la valeur des champs (text, select, ...) de mon formulaire
    et la dans mon cas, sur un print_r($_POST) sur ma page art_visu je n'ai absolument rien... alors que le meme print_r($_POST) apres l'envoie par le bouton bt_article me retourne bien mes valeurs de champs .

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Bonjour,

    Je me demande si ce n'est pas parce que vous créez une variable formulaire. Peut-être ne comprend-il pas qu'il doit importer tous vos champs.
    Essayer de faire le submit sur le formulaire directement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function art_modif()
    {
    	var commentaire = document.f_art_creation.f_commentaire
     
    	if(commentaire.value.length==0)
    	{
    		alert("Merci de remplir le champ commentaire si vous voulez que le demandeur apporte une modification a sa demande");
    	}
    	else
    	{
    		document.f_art_creation.submit();
    	}
    }

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut,
    Cela provient surement du fait que le onsubmit n'est pas déclenché lorsque tu fais un submit() dans le code

  6. #6
    Membre du Club
    Homme Profil pro
    Directeur Technique Backoffice
    Inscrit en
    Janvier 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur Technique Backoffice

    Informations forums :
    Inscription : Janvier 2009
    Messages : 43
    Points : 44
    Points
    44
    Par défaut
    Bon je tiens a préciser que je n'ai pas bu ...

    Je suis juste allé manger, en fermant mon navigateur
    et en revenant je ré-essaye ... et ca marche!

    Va comprendre charles!

    sauf que je ne recupere pas $_POST['bt_modification']alors que je recupère toutes les autres variables.
    Du coup je fais un petit tour de passe passe avec formulaire.action dans mon script pour ajouter un GET que j'utiliserais pour faire mon test php

    du coup mon script ressemble maintenant a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function art_modif()
    {
    	var formulaire = document.f_art_creation
     
    	if(formulaire.f_commentaire.value.length==0)
    	{
    		alert("Merci de remplir le champ commentaire si vous voulez que le demandeur apporte une modification a sa demande");
    	}
    	else
    	{
    		formulaire.action = "index.php?page=art_visu&bt_modification=modif";
    		formulaire.submit();
    	}
    }
    Merci pour votre aide à tous

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

Discussions similaires

  1. sauvegarde planifiée mais elle ne fonctionne pas
    Par iam dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/03/2007, 15h00
  2. Réponses: 33
    Dernier message: 26/09/2006, 18h09
  3. [Conception] Deux codes identique mais un qui fonctionne pas
    Par fabrice88 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/08/2006, 17h25
  4. besoin aide bouton avec effet zoom fonctionne pas.
    Par zicomoun dans le forum Flash
    Réponses: 3
    Dernier message: 13/06/2006, 08h15
  5. Réponses: 7
    Dernier message: 30/10/2005, 12h54

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