Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème Javascript & Formulaire PHP HTML_QuickForm

2 réponses
Avatar
Ronan
Bonjour,

J'ai un problème avec un formulaire utilisant le package PHP PEAR
HTML_QuickForm et du javascript:

Je veux enregistrer le contenu du formulaire dans une base mySQL puis
exécuter une fonction javascript.
Mon problème est que le javascript est exécuté avant l'enregistrement
dans la base, alors que j'ai besoin que ce soit l'inverse car ma
fonction javascript doit femer la fenêtre...

Merci d'avance pour votre aide.
Ronan



Voilà ce que j'ai fait en gros:

#--- 1 ---
#fonction javascript
#---------


#--- 2 ---
# le javascript est appelé par le champs action de mon formulaire

# code PHP
$form = new
HTML_QuickForm('createNewsCategoryForm','post','javascript:addValue();');

# résultat en HTML:
<form action="javascript:addValue();" method="post" ... >
#------


#--- 3 ---
# validation du formulaire et enregistrement dans la base de donnée:
if ($form->validate()) {
$form->process('dataProcessing', false);
}
else {
$form->display();
}

function dataProcessing($values){
#enregistrement dans la BDD
}
#---------

2 réponses

Avatar

Bonjour,

J'ai un problème avec un formulaire utilisant le package PHP PEAR
HTML_QuickForm et du javascript:

Je veux enregistrer le contenu du formulaire dans une base mySQL puis
exécuter une fonction javascript.
Mon problème est que le javascript est exécuté avant l'enregistrement
dans la base, alors que j'ai besoin que ce soit l'inverse car ma
fonction javascript doit femer la fenêtre...

Merci d'avance pour votre aide.


Je ne comprends rien au php et encore moins à des trucs particuliers
mais si j'avais eu du php à faire executer
par un formulaire géré par JS avant son envoi
j'eusse fait qque chose comme :

<form action="blabla" onsubmit="<?

tout mon p'tit tralala en php

s'il est bon :
echo "return true;";
else
echo "return false;"

?>" method="post>

Et ce qui est génial avec cette méthode ==>
si pas de JS pas de php non plus
sublissime non ? ;-)

de tte la manière avec
<form action="javascript:addValue();"
on avait kif kif la même chose pareil également
==> si pas de JS plus rien ne marche

Avatar
Pierre Goiffon
"Ronan" a écrit dans le message de
news:40eb1729$0$25266$
Je veux enregistrer le contenu du formulaire dans une base mySQL puis
exécuter une fonction javascript.
Mon problème est que le javascript est exécuté avant l'enregistrement
dans la base, alors que j'ai besoin que ce soit l'inverse car ma
fonction javascript doit femer la fenêtre...


Oulla, vous avez l'air de mélanger un peu tout : PHP est exécuté sur le
serveur, JavaScript sur le client ! Donc votre JavaScript peut être exécuté
avant soumission du formulaire, sinon votre PHP devra renvoyer au navigateur
le code qu'il faut.