ModalBox, formulaire et redirection php
Résolu/Fermé
Vincedujag
Messages postés
9
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
1 mars 2010
-
21 févr. 2010 à 16:35
Vincedujag Messages postés 9 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 1 mars 2010 - 1 mars 2010 à 10:23
Vincedujag Messages postés 9 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 1 mars 2010 - 1 mars 2010 à 10:23
A voir également:
- ModalBox, formulaire et redirection php
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire instagram compte suspendu - Guide
- Le formulaire rempli - Guide
- Formulaire remboursement frais de résiliation free pdf ✓ - Forum Freebox
8 réponses
Vincedujag
Messages postés
9
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
1 mars 2010
1
1 mars 2010 à 10:23
1 mars 2010 à 10:23
Bonjour à tous,
Bon au final j'ai réussi à trouver une solution, j'en profite pour la partager;)
J'ai tout simplement décider de n'utiliser qu'une seule page dans ma ModalBox, qui contient à la fois le formulaire et la vérification..
Voici le code:
Bon au final j'ai réussi à trouver une solution, j'en profite pour la partager;)
J'ai tout simplement décider de n'utiliser qu'une seule page dans ma ModalBox, qui contient à la fois le formulaire et la vérification..
Voici le code:
<?php if (!empty($_POST)) { # vérification des champs requis (Nom) if (empty($_POST['nom'])) { $erreur1 = "Merci de renseigner le nom"; $focus1 = 1; // modification couleur du champ de saisie concerné echo $erreur1; } } $nom = utf8_decode(Stripslashes($_POST["nom"])); if (!empty($_POST) && empty($erreur1)){ print "<br><b>Nom: </b>"; echo $nom; } else { echo '<FORM action="ajout_mag.php" id="myform">'; echo '<table border="1">'; echo '<tr>'; echo '<td>Nom:<b>*</b></td>'; echo '<td><input type="text" name="nom" id="nom"'; if($focus1 == 1) echo 'class=\'focus\''; echo 'value="'; echo $nom; echo '"></td></tr></table>'; echo '<input type="submit" value="Valider" onclick="Modalbox.show(\'form_mag.php\', {title: \'Confirmation\', height: 480 , width: 640 , method:\'post\', params:Form.serialize(\'myform\') }); return false;" />'; echo '</FORM>'; } ?>
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
21 févr. 2010 à 19:22
21 févr. 2010 à 19:22
Il suffit de regarder le code source de l'exemple pour vite comprendre.
Sur ta balise form : onsubmit="return false;"
Sur ta balise form : onsubmit="return false;"
Vincedujag
Messages postés
9
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
1 mars 2010
1
21 févr. 2010 à 20:43
21 févr. 2010 à 20:43
Merci avion-f16 pour cette réponse rapide;) .. mais je n'ai pas très bien compris.
Je ne suis pas vraiment un pro de php ni javascript, j'essaie de me débrouiller grâce différents scripts que je trouve sur le net.
Tu parles de "return false;", c'est justement le code utilisé sur le site officiel de ModalBox, à quoi il sert?
En fait mon soucis est de pouvoir retourner à la page formulaire (form_mag.php) si il y a une erreur (if($erreur)).
Par contre je n'arrive pas à trouver la fonction qu'il me le permettrait.
J'ai aussi essayé avec du javascript en bidouillant ceci:
Mais je sais qu'avec tout les guillemets, les accolades, sa ne passe pas. Est ce que je suis quand même sur la bonne voie?
Je ne suis pas vraiment un pro de php ni javascript, j'essaie de me débrouiller grâce différents scripts que je trouve sur le net.
Tu parles de "return false;", c'est justement le code utilisé sur le site officiel de ModalBox, à quoi il sert?
En fait mon soucis est de pouvoir retourner à la page formulaire (form_mag.php) si il y a une erreur (if($erreur)).
Par contre je n'arrive pas à trouver la fonction qu'il me le permettrait.
J'ai aussi essayé avec du javascript en bidouillant ceci:
echo '<script language="JavaScript">Modalbox.show="'liens/form_mag.php', {title: 'Form sending status', width: 500, params:Form.serialize('myform') }'"</script>';
Mais je sais qu'avec tout les guillemets, les accolades, sa ne passe pas. Est ce que je suis quand même sur la bonne voie?
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
21 févr. 2010 à 22:20
21 févr. 2010 à 22:20
Essaye avec ça :
echo '<script script="text/javascript"> Modalbox.show('liens/form_mag.php', { title: 'Form sending status', width: 500, params: Form.serialize('myform') });</script>';
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vincedujag
Messages postés
9
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
1 mars 2010
1
21 févr. 2010 à 22:44
21 févr. 2010 à 22:44
J'ai toujours une erreur de syntaxe..
Avec le javascript je pense pouvoir utiliser la fonction .show de la modal box, comme elle est utilisée dans la page "form_mag.php" avec le input, penses-tu que c'est la bonne solution?
Voici l'erreur avec ce que tu me proposes:
Voici le liens pour tester le script:
http://solarpedia.free.fr/test/testmodal.html
Merci pour ton implication dans ce problème!
Avec le javascript je pense pouvoir utiliser la fonction .show de la modal box, comme elle est utilisée dans la page "form_mag.php" avec le input, penses-tu que c'est la bonne solution?
Voici l'erreur avec ce que tu me proposes:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /mnt/162/sdc/a/5/solarpedia/test/liens/ajout_mag.php on line 9
Voici le liens pour tester le script:
http://solarpedia.free.fr/test/testmodal.html
Merci pour ton implication dans ce problème!
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
22 févr. 2010 à 17:22
22 févr. 2010 à 17:22
echo '<script script="text/javascript"> Modalbox.show(\'liens/form_mag.php\', { title: \'Form sending status\', width: 500, params: Form.serialize(\'myform\') });</script>';
Vincedujag
Messages postés
9
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
1 mars 2010
1
22 févr. 2010 à 21:29
22 févr. 2010 à 21:29
C'est déjà mieux car il n'y a plus d'erreurs, mais sa ne lance toujours pas le script.
J'ai pu le voir en rajoutant un print après le else:
Lorsque le champs "nom" n'est pas rempli, le code renvoi "echec", mais il ne se passe rien d'autre..:
http://solarpedia.free.fr/test/testmodal.html
J'ai aussi essayé en remplaçant:
Par
car je trouvais sa bizarre, mais sa ne change toujours rien.
J'ai aussi essayé avec ce code:
Idem toujours rien..
Voici le javascript relatif à la fonction .show, je ne sais pas si sa peu aider:
Il n'existe pas une fonction javascript ou php pour simuler un input automatique?
J'ai pu le voir en rajoutant un print après le else:
<div> <?php $erreur = false; $nom_mag = $_GET['nom_mag']; if (!empty($_GET)) { # Vérif nom de magazine Renseigné if (empty($_GET['nom_mag'])) { $erreur = "Merci de renseigner le nom de votre magazine"; } } if(!$erreur) { print "<br><b>Nom du magazine: </b>"; echo $nom_mag; } else { print "echec"; echo '<script script="text/javascript"> Modalbox.show(\'form_mag.php\', { title: \'Form sending status\', width: 500, params: Form.serialize(\'myform\') });</script>'; } ?> </div>
Lorsque le champs "nom" n'est pas rempli, le code renvoi "echec", mais il ne se passe rien d'autre..:
http://solarpedia.free.fr/test/testmodal.html
J'ai aussi essayé en remplaçant:
<script script="text/javascript">
Par
<script language="javascript" type="text/javascript">
car je trouvais sa bizarre, mais sa ne change toujours rien.
J'ai aussi essayé avec ce code:
echo '<script script="text/javascript"> window.onload=Modalbox.show(\'form_mag.php\',{ title: \'Form sending status\', width: 500, params: Form.serialize(\'myform\') });</script>';
Idem toujours rien..
Voici le javascript relatif à la fonction .show, je ne sais pas si sa peu aider:
show: function(content, options) { if(!this.initialized) this._init(options); // Check for is already initialized this.content = content; this.setOptions(options); if(this.options.title) // Updating title of the MB $(this.MBcaption).update(this.options.title); else { // If title isn't given, the header will not displayed $(this.MBheader).hide(); $(this.MBcaption).hide(); } if(this.MBwindow.style.display == "none") { // First modal box appearing this._appear(); this.event("onShow"); // Passing onShow callback } else { // If MB already on the screen, update it this._update(); this.event("onUpdate"); // Passing onUpdate callback } },
Il n'existe pas une fonction javascript ou php pour simuler un input automatique?
Vincedujag
Messages postés
9
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
1 mars 2010
1
22 févr. 2010 à 21:45
22 févr. 2010 à 21:45
J'ai trouvé ce qui bloque: les options après l'url!! Merci de m'avoir mis sur la voie!
J'ai essayé avec ceci:
Et sa marche! si je ne remplis pas le champs "nom", sa revient en arrière.. comme je le souhaitais :D
Par contre ce serais quand même bien d'avoir les options.. J'ai aussi essayé de mettre des antislashs avant les accolades, mais sans résultats..
Une idée?
J'ai essayé avec ceci:
echo '<script script="text/javascript"> Modalbox.show(\'form_mag.php\');</script>';
Et sa marche! si je ne remplis pas le champs "nom", sa revient en arrière.. comme je le souhaitais :D
Par contre ce serais quand même bien d'avoir les options.. J'ai aussi essayé de mettre des antislashs avant les accolades, mais sans résultats..
Une idée?