Form Action => fonction et pas une URL en PHP

Résolu
zebiloute Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   -  
 holic -
Rebonjours. Une autre petite question aujourd'hui.

Est il possible dans un formulaire, lors de l'appuie sur le bouton submit, d'exécuter une fonction PHP (ou autre), plutôt que d'ouvrir une page web.

<form action="toto.html"> version actuelle.

<for action="myFonction"> Version exécutant une fonction présente dans la page.

Merci d'avance pour la réponse.

Quand ça veut Po ça veut po !!!
- Et ben y a plus qu'à attendre -

6 réponses

PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Salut Zebiloute

Si tu as un seul bouton submit dans ton formulaire tu peux utiliser l'événement onsubmit au niveau du formumlaire


function annulation()
{
alert("Submit au niveau form annulé !");
return false
}

...

<form onsubmit="return annulation()">
<button type="submit" value="Envoyer">
</form>


Sinon tu peux utiliser l'événement onclick au niveau du bouton submit :



function annulation()
{
alert("Submit au niveau du bouton submit annulé !");
return false
}

...

<form
<button type="submit" value="Envoyer" onclick="return annulation()">>
</form>


L'astuce dans les 2 cas consiste à retourner la valeur renvoyer par le gestionnaire d'événement et pas à appeler uniquement la fonction.
Autrement dit si tu écris :

onclick="annulation()" hé bien le formulaire sera transmis !

Par contre avec onclick="return annulation()" si la fonction annulation() retourne true l'évenement submit se poursuit et le formulaire est transmis.
Si la fonction retoune false l'évenement submit est annulé pour de bon ! ;:-)

@+
Philippe

[[  The Truth is Out There   ]]
12
OlivierDubé
 
https://openclassrooms.com/fr/courses

Section dans le bas: Corriger
Un bel exemple avec un formulaire et du code PHP.
Submit relance le code, si la condition est respectée il affiche la page

Merci au Site du Zéro
3
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
Si c'est pour éviter de recharger la page, effectivement c'est impossible.

Par contre, tu peux tout a fait utiliser la même page.
2
JI Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   13
 
Tu peux mettre ta seul fonction dans un fichier fontion.php
mais j'ai pas vu autre chose.
see ya

   Site d'Humour Francophone  http://www.umoor.com
   Services Gratuits  pour Webmasters  http://fiatc.free.fr
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Stéphane
 
Avec PHP, je ne crois pas mais avec JavaScript c'est possible :

dans <head>

function nom_fonction()
{
instructions...
}

Puis <form>

<input type="button" value="Envoyer" onClick="nom_fonction();">

Yop
0
holic
 
Peut-on utiliser la form pour lancer une fonction avec pour parametre une des zone text par exemple :

<form onsubmit="ma_fonction($variable_de_ma_zone_text)">
<input type="text" name="text">
<input type="submit" value="valider">
</form>

Je pensais à du js si je rajoute un id à ma zone text mais comme j'en suis pas sur ... y-a-t-il un moyen d'utiliser la form de cette manière, si oui comment ?
0