le \"multi-post\" est en général déconseillé,
j\'ai commencé à répondre dans
langages web.
c\'est vrai que le message aurait été
mieux uniquement ici puisque javascript.
Bonjour
J\'ai un petit problème avec une fenêtre pop up rétissante à l\'ouverture :/
J\'aimerai, dans le cadre d\'un formulaire PHP, que les erreurs de saisie de l\'utilisateur apparaissent dans une fenêtre pop up (Adresse email non valide etc...).
Voici mon code actuel :
Pour le moment quand je valide le formulaire rien ne se passe. Surement une erreur de débutant (ce que je suis profondément ^^). Si jamais vous avez une idée ... :roll:Code:echo \"<script language=\'Javascript\'>\"; echo \"var w; function Ouvrir() { w=window.open(\'validation_formulaire.php3\',\'Erreurs de saisie\',\'width=200,height=200\'); }\"; ... echo \"<form action=\'javascript:ouvrir()\' name=formulaire method=\'POST\'>\";
(dsl pour le smiley au milieu du code, c\'est \": o\" sans espace vous l\'aurez compri ^^
Meci d\'avance
le \"multi-post\" est en général déconseillé,
j\'ai commencé à répondre dans
langages web.
c\'est vrai que le message aurait été
mieux uniquement ici puisque javascript.
Merci d\'avoir supprimé mon post de la section java c\'était une erreur de ma part. vraiment dsl :/
Le PHP alourdit le code je suis d\'accord mais on me demande du PHP qui génère des pages HTML c\'est a dire que je dois faire des \"echo\" du début à la fin de mon code ce qui n\'est certes pas indispensable. Pourquoi utiliser une fonction ? Parceque je n\'ai pas encore les reflexes qu\'il faut, c\'est sur il est plus pratique de mettre ca directement dans le \"form action\". Ce qui donnerai :
A ce stade le popup s\'ouvre bien, cependant il m\'est impossible de passer les variables du formulaire par l\'url car je me retrouverai par exemple avec :Code:<form action=\"javascript:window.open(\'validation_formulaire.php3\');\" name=\'formulaire\' method=\'POST\'>
soit un problème de guillemets et de quotes.Code:echo \"<form action=\"javascript:window.open(\'validation_formulaire.php3?nom=$nom\');\" name=\'formulaire\' method=\'POST\'>\";
Quelqu\'un aurait-il la solution ? ^^
Merci d\'avance![]()
pas obligé de faire des echo
par exemple:afficher date serveur
=========== méthode 1
?>
<script type=\"Text/Javascript\">
document.write(\'date serveur \' + \'<? echo date(\"d/m/Y\" ?>\');
</script>
....
========== méthode 2
<?
echo \"<script type=\'Text/Javascript\'>\\r\";
echo \"document.write(\'date serveur \" . date(\"d/m/Y\". \"\');\\r\";
echo \"</script>\\r\";
....
==========
je préfère la méthode 1, qui à moi, me semble
plus simple [ mais chacun ses goûts et je ne
critique en rien ... ]
donc revenons au post
>?.....
<form action=\"javascript:window.open(\"valida tion_formulaire.php3?nom=<?echo $nom;?>\" method=\"post\" ... >
et je n\'ai pas compris le problème.
récupérer les paramètres en javascript ?
<form ... action=\"javascript:ex();\" method=post...>
<input type=hidden name=prm value=\"valeur\">
....
et dans la function ex
location.search c\'est = \"?prm=valeur\"
et je répète ma question : pourquoi l\'appel
d\'une function javascript par un form avec
method post, je ne vois pas l\'intéret.
en général, ( mais généralement il est absurde
de généraliser ) [ désolé je n\'ai pas pu me
retenir ] form avec method post ou get c\'est
l\'appel d\'un programme php depuis une page
htm, avec javascript ou pas.
@+
je n\'ai pas été très clair,
j\'ai embrouillé les choses non ?
<form action=\"javascript:window.open(\"valida tion_formulaire.php3?nom=<?echo $nom;?>\" method=\"post\" ... >
va appeler dans un pop-up, le programme
validation_formulaire.php3 qui en php
peut traiter $_GET[\"nom\"]
fin du précédent :
et en javascript
location.search c\'est = \"?nom=valeur \"
Pourquoi une fonction javascript ?
Comme tu as pu le voir je suis pas terrible en prog encore mais je vais essayer d\'expliquer. Dans mon formulaire j\'ai une liste déroulante. Suivant l\'option choisie dans la liste déroulante certains champs du formulaire apparaissent ou disparaissent
(document.all.item(\'f_categ\').style.display = \'none\'par exemple.
En appelant un programme php dans le form action, je perdait cette fonctionalité de la liste déroulante c\'est a dire que de changer d\'option dans la liste ne modifiait plus les champs visibles (pourquoi ? aucune idée). J\'ai donc décider de gérer les erreurs de saisie via une fenêtre popup dont je voulai préciser la taille par souci d\'esthétisme. De ce que je sache (d\'accord je ne sais pas grand chose ^^) le javascript était la seule option pour définir la taille de la fenêtre.
Tout ce que je veux faire à l\'arrivée c\'est une fois mon formulaire validé, qu\'une fenêtre s\'ouvre indiquant à l\'utilisateur soit les erreurs qu\'il a commises soit que les informations ont bien été enregistrées.
Personnellement je connais a peine la différence entre une méthode POST et une méthode GET alors te dire pourquoi j\'utilise une fonction javascript (que je \"connais\" depuis moins d\'une semaine) dans une méthode POST j\'en sais fichtre rien moi ^^.
Dans tous les cas j\'en suis à ca :
et dans l\'url de la nouvelle page, la variable $f_categ apparait comme vide alors que si je fais :Code:<form action=\"javascript:window.open(\'validation_formulaire.php3?f_categ=<? echo $f_categ; ?>\')\" name=\"formulaire\" method=\"POST\">
je vois la bonne valeur s\'inscrire à l\'écran après avoir validé mon formulaire.Code:echo $f_categ; <form action=\'\' name=\'formulaire\' method=\'POST\'>
Félicitations de m\'avoir lu jusque là, j\'espère simplement avoir été compréhensible
++
$_GET[\"$f_categ\"]
ça ira mieux
quand au reste, je résume ?
_ un formulaire de saisie ou des champs
sont visibles ou pas en fonction de certains
choix,
donc style.display=\"none\" ou \"inline\" daccord
_ un pop-up pour signaler les erreurs
alors moi [ mais mon avis ne vaut pas grand
chose ] j\'aurais fait les contrôles en javascript
lors de la validation du formulaire
onsubmit=\"return(controle());\"
dans fonction controle
function controle()
{ contrôles ....
if (erreur)
{ ouverture pop_up;
et y afficher les erreurs;
return false; }
else { _ soit pop-up pour dire ok
_ soit le faire dans php
réinitialiser formulaire
return true; } }
merci d\'avoir pri la peine de me répondre une nouvelle fois mais j\'ai réussi a me dépatouiller.
Et ça marche :lol:Code:if($submit){ echo \"<script language=\'Javascript\'>\"; echo \"window.open(\'validation_formulaire.php3?f_categ=\".$f_categ.\"\',\'ListeDesErreurs\',\'width=250,height=300,left=750,top=0\')\"; echo \"</script>\"; }
Oui je sais ya plein de PHP qui alourdit le code mais j\'ai pas le choix c\'est imposé dans le cadre de mon stage ^^.
Merci quand même![]()
ça marche tant mieux
mais je disais
if($submit){
>?
<script language=\'Javascript\'>\";
window.open(\'validation_formulaire.php3?f_categ=\ "<? echo $f_categ;?>\",\'ListeDesErreurs\',\'width= 250,height=300,left=750,top=0\');
</script>
.....
qui fait la même chose, est plus lisible qu\'avec
les echo, à mon goût.
@+
il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))