begin process at 2010 03 22 05:14:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Connaitre le bouton sur lequel on a cliqué (Formulaire)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Connaitre le bouton sur lequel on a cliqué (Formulaire)

dimanche 6 avril 2008 à 20:31:41 | Connaitre le bouton sur lequel on a cliqué (Formulaire)

takinelinfo

Bonsoir.
J'ai un formulaire avec deux boutons de validation et donc deux vérification.
Voici un exemple.
<?php
print_r($_POST);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test JS</title>
<script type="text/javascript">
        function verif1()
        {
                alert('verif1 réussie');
                if(4===3)
                        document.formulaire.submit();  
        }
       
        function verif2()
        {
                alert('verif2 réussie');
                if(2===2)
                        document.formulaire.submit();
        }
</script>
</head>
 
<body onload="alert('Page chargée');">
        <form id="formulaire" action="test.php" method="post" name="formulaire">
        <input type="text" id="champ1" name="champ1" /> Champ 1<br />
        <input type="text" id="champ2" name="champ2" /> Champ 2 <input type="button" id="bt" value="Ajouter" name="add" onclick="verif1();" /><br />
        <input id="bt2" type="button" value="Sauvegarder" name="save" onclick="verif2();" />
    </form>
</body>
</html>


Voila ici tout fonctionne, sauf que comme mes boutons ne sont pas des submit, je n'ai pas de $_POST correspondant. Donc niveau js, ça ne pose pas de problème mais après je ne peux pas faire de traitement adéquat car je ne sais pas quel bouton a été cliqué.
J'ai donc fait un truc comme ça:


<?php
print_r($_POST);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test JS</title>
<script type="text/javascript">
        function verif1()
        {
                alert('verif1 réussie');
                if(4===3)
                        document.formulaire.submit();  
        }
       
        function verif2()
        {
                alert('verif2 réussie');
                if(2===2)
                        document.formulaire.submit();
        }
</script>
</head>
 
<body onload="alert('Page chargée');">
        <form id="formulaire" action="test.php" method="post" name="formulaire">
        <input type="text" id="champ1" name="champ1" /> Champ 1<br />
        <input type="text" id="champ2" name="champ2" /> Champ 2 <input type="submit" id="bt" value="Ajouter" name="add" onclick="verif1();" /><br />
        <input id="bt2" type="submit" value="Sauvegarder" name="save" onclick="verif2();" />
    </form>
</body>
</html>


Niveau PHP, no soucis, le $_POST est bien crée donc je sais sur quel bouton j'ai cliqué. Par contre niveau JS, que la condition soit bonne ou non, il soumet le formulaire.

Comment puis je faire pour que cela fonctionne à la fois pour le js(pouvoir faire une vérif selon le bouton) et que cela fonctionne en PHP, connaitre aussi le bouton afin de pouvoir appliquer un traitement spécifique?

dimanche 6 avril 2008 à 20:44:39 | Re : Connaitre le bouton sur lequel on a cliqué (Formulaire)

yoman64

Membre Club
Salut,

Si tu veux pas que le formulaire s'envoie alors ta fonction doit retourner false (return false;).

Sinon utilise un simple bouton au lieu d'un submit.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
dimanche 6 avril 2008 à 20:52:47 | Re : Connaitre le bouton sur lequel on a cliqué (Formulaire)

takinelinfo

J'ai essayer avec le return false sous FF, il n'en tiens pas compte:
function verif1()
{
        alert('verif1 réussie');
        if(4===3)
            document.formulaire.submit();   
        else
            return false;
}

Il soumet le formulaire dans tout les cas. J'ai essayer avec des types "bouton". Niveau JS, ça fonctionne parfaitement. Par contre niveau PHP, je ne sais pas sur quel bouton j'ai cliqué car je n'ai pas de $_POST correspondant au bouton de créé. Comment puis je faire pour que cela fonctionne à la fois en JS et en PHP?

dimanche 6 avril 2008 à 21:17:59 | Re : Connaitre le bouton sur lequel on a cliqué (Formulaire)

malalam

Administrateur CodeS-SourceS
Hello,

un bouton submit soumet le formulaire.Le comportement est normal.
Donc reprends ton code 1 et si tu veux savoir sur quel bouton on a appuyé, ajoute un champ de type caché.
Dans tes fonctions, tu donnes à ce champ una valeur arbitraire en fonction du bouton sur lequel on a cliqué, avant de soumettre.
Et c'est tout.
dimanche 6 avril 2008 à 21:41:04 | Re : Connaitre le bouton sur lequel on a cliqué (Formulaire)

yoman64

Membre Club
Arf malalam m'a devancé (encore) j'étais en train d'écrire que moi j'utiliserais un champs hidden. Ça m'apprenderas à ouvrir la page mais ne pas répondre tout de suite, d'autres réponses arrivent sans que je les vois.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
dimanche 6 avril 2008 à 22:11:59 | Re : Connaitre le bouton sur lequel on a cliqué (Formulaire)

malalam

Administrateur CodeS-SourceS
Faut pas t'en vouloir...je suis admin, donc je te suis supérieur, c'est normal. Plus rapide, plus intelligent, plus doué etc.
Donc vraiment...tu ne démérites pas, tu perds juste face à bien plus fort que toi. Aucun déhsonneur à ça.

(je sais que Yoman ne prendra pas ça au sérieux, mais je précise pour d'éventuels autres lecteurs : je PLAISANTE, hein... ;-))


Cette discussion est classée dans : bouton, formulaire, submit, js, cliqué


Répondre à ce message

Sujets en rapport avec ce message

[FORMULAIRE] Changer bouton 'submit' en image [ par cedvoyage ] Bonjour,Comment faire pour changer le bouton "submit" d'un formulaire en le remplacant par image et qui évidemment envoie aussi les données du formula pb fonction js pour submit de formulaire dynamique [ par BDdev ] HELP !!!!je créé dynamiquement sur une page un tableau contenant les résultats d'une requete sql et dans chaque ligne un formulaire (caché) et je voud FORMULAIRE : comment ne pas utiliser de bouton submit ? [ par railyandtiti ] Bonjour tout l'monde !En fait, à la place d'un bouton submit, j'aimerais faire un lien html vers une page php.Car sur ma page du formulaire, j'ai énor 2 boutons submit dans le meme form? [ par LaurentKOogar ] Bonjour et bon début de week end à tous,ptit problème==>ya 1 formulaire avec 1 champt text et dans ce formulaire il faudrait 2 boutons submit1 bouton Récupérer les données d'un formulaire envoyé sans bouton submit [ par b_medamine ] Bonjour à tous Je veux envoyer un formulaire sans boutons du tout...  voilà la situation : j'ai deux champs ( login / pass) et je veux envoyer mon Formulaire update [ par zakarum ] Bonjour,J'ai fait un formulaire update avec un bouton submit, lorsque je clique dessus la mise à jour se fait correctement dans ma table. Comment fair 1 formulaire + 1 submit = 2 actions [ par forbidden fruit ] Bonjour, j'ai un petit problème... J'ai un formulaire de commande (bouton "acheter" paypal). Quand le client clique sur ce bouton, cela appelle une pa deux bouton 'submit' dans un meme formulaire [ par cyrilherve ] salut je voudrait savoir s'il est possible de mettre deux bouton 'submit' dans un meme formulaire php ? si oui comment gerer 'action' au niveau du for PHP formulaire bouton griser/dégriser [ par Vins974 ] Bonjour à tous,Dans mon site PHP/MYSQL, j'ai plusieurs formulaire... J'ai fait en sorte que dans tous mes formulaires, lorsque je rempli tous les cham html - php -> faire apparaitre deuxième partie d'un formulaire sur clic sur un bouton [ par jakaria ] Bonjour, Je suis en train de créer un formulaire en deux parties. La personne doit donner ses informations personnelles dans la première partie, puis,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales