ModalBox, javascript dans un echo
Posté : 23 févr. 2010, 19:58
Bonjour à tous,
J'essaie voilà presque une semaine de créer un formulaire dans une ModalBox et de vouloir le vérifier à l'aide de php. Le problème se pose lorsqu'un champ du formulaire est mal rempli et que j'aimerais retourner au formulaire.
Pour ceux qui connaissent pas la ModalBox, c'est une boite de dialogue entièrement codé en Javascript et respectant les « normes» du Web 2.0: http://okonet.ru/projects/modalbox/
Ainsi mon système de formulaire est composé de 3 pages:
testmodal.html qui contient le lien qui ouvre la ModalBox
form_mag.php qui contient le formulaire
ajout_mag.php qui vérifie les champs du formulaire
Voici le lien de mon système de formulaire: http://solarpedia.free.fr/test/testmodal.html
Comme vous pouvez le voir, lorsque le champs "nom_mag" n'est pas rempli, on revient au formulaire mais le message d'erreur ne s'affiche pas.
Voici le code du fichier testmodal.html:
Donc lorsque l'on clique sur le lien "Formulaire" on ouvre la ModalBox à la page "form_mag.php" dont voici le code:
Une fois le formulaire validé, on va à la page "ajout_mag.php" qui va vérifier si le champ est rempli:
Si le champ est rempli, alors on l'affiche, sinon on retourne à la page "form_mag.php" c'est à dire au formulaire.
MON PROBLEME: j'ai besoin de préciser les options de Modalbox.show afin de pouvoir modifier le titre de la ModalBox ainsi que de transmettre le message d'erreur "$erreur".
J'ai essayé avec le code suivant:
Mais sans résultats, la ModalBox reste à la page "ajout_mag.php".
Merci pour votre aide.
Vincent
J'essaie voilà presque une semaine de créer un formulaire dans une ModalBox et de vouloir le vérifier à l'aide de php. Le problème se pose lorsqu'un champ du formulaire est mal rempli et que j'aimerais retourner au formulaire.
Pour ceux qui connaissent pas la ModalBox, c'est une boite de dialogue entièrement codé en Javascript et respectant les « normes» du Web 2.0: http://okonet.ru/projects/modalbox/
Ainsi mon système de formulaire est composé de 3 pages:
testmodal.html qui contient le lien qui ouvre la ModalBox
form_mag.php qui contient le formulaire
ajout_mag.php qui vérifie les champs du formulaire
Voici le lien de mon système de formulaire: http://solarpedia.free.fr/test/testmodal.html
Comme vous pouvez le voir, lorsque le champs "nom_mag" n'est pas rempli, on revient au formulaire mais le message d'erreur ne s'affiche pas.
Voici le code du fichier testmodal.html:
Code : Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled</title>
<link rel="stylesheet" href="modalBox/modalbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="modalBox/lib/prototype.js"></script>
<script type="text/javascript" src="modalBox/lib/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="modalBox/modalbox.js"></script>
</head>
<body>
<a href="form_mag.php" title="Formulaire" onclick="Modalbox.show(this.href, {title: this.title, width: 800}); return false;">Formulaire</a>
</body>
</html>
Code : Tout sélectionner
<div>
<?php
echo $erreur;
?>
<FORM action="ajout_mag.php" id="myform">
<table>
<tr>
<td>Nom:<b>*</b></td>
<td><input type="text" name="nom_mag" id="nom_mag"></td>
</tr>
</table>
<input type="submit" value="Valider" onclick="Modalbox.show('ajout_mag.php', {title: 'Confirmation', width: 500, params:Form.serialize('myform') }); return false;" />
</FORM>
</div>
Code : Tout sélectionner
<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\');</script>';
}
?>
</div>
MON PROBLEME: j'ai besoin de préciser les options de Modalbox.show afin de pouvoir modifier le titre de la ModalBox ainsi que de transmettre le message d'erreur "$erreur".
J'ai essayé avec le code suivant:
Code : Tout sélectionner
echo '<script script="text/javascript">
Modalbox.show(\'form_mag.php\', {
title: \'Formulaire Erreur\',
width: 800,
params: Form.serialize(\'myform\')
});</script>';
Merci pour votre aide.
Vincent