Perte de bgcolor avec window.alert

yebs Messages postés 71 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 17 février 2010 - 3 juil. 2007 à 14:33
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 5 juil. 2007 à 10:53
bonjour, voilà, j'ai un petit problème :
j'ai un formulaire mail sur un site pour que les internautes puissent écrire des messages et je détecte en javascript si les champs sont bien remplis.
lorsqu'un champ est mal rempli, j'affiche un window.alert du style "veuillez rentrez votre nom !"
le prolème c'est que quand je dis OK au window.alet, ma page html perd son bgcolor, ce qui est très inesthétique !! j'ai essayé de supprimer les cookies et ensuite de rafraichir la page, mais ça ne marche pas puisque je le fais au moment de l'apparition du window.alert et non quand on dit OK au window.alert. Peut-on écouter le bouton OK du window.alert ?
 il y a-t-il une autre solution + efficace ??

sinon, tant que j'y suis, quand l'internaute a écrit son message, son nom et tout ça, mais qu'il a fait une erreur dans l'écriture de son adresse mail, j'affiche le window.alert "adresse mail non valide", il dit, OK, mais tout le message est perdu, il faut tout réécrire !! est-ce normal ?? peut-on trouver une solution ? je précise que les formulaires ne sont pas en javascript, mais en html, avec interaction PHP.

Merci d'avance, mais c'est quand même la première question qui m'importe le plus !
Ciao !

8 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juil. 2007 à 15:24
Bonjour,

>>
le problème quand je dis OK ma page html perd
son bgcolor
    réellement aucune raison.
    mais sans billes, difficile de trouver où il y a une erreur.

>>mais tout le message est perdu, il faut tout réécrire !! est-ce normal
    toujours pas de raison... sauf rechargement de la page,
       ce qui ne devrait pas être.. s'il y a une erreur
    mais sans billes, difficile de trouver où il y a une erreur.

>>je précise que les formulaires ne sont pas en javascript, mais en html,
    ça me rassure ! les formulaires en javascript, ça n'existe pas.








<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
yebs Messages postés 71 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 17 février 2010
3 juil. 2007 à 17:07
et à part ça, est-ce qu'il est possible d'écouter la validation du window.alert ??
du coup je pense que je me débrouillerai en disant "si je clique sur le OK du window.alert, alors je rafraîchit la page"...

C'est possible ça ou pas ??

Pour le code, en gros, c'est ça, mais j'ai beaucoup élagué !
Remarque : quand un window.alert apparît lorsqu'un champ est mal rempli, je reviens sur ma page et perd le bgcolor et le message déjà écrit. En revanche quand j'utilise à nouveau le formulaire <select> (pour réécrire mon message), le bgcolor réapparaît !

le formulaire :

<form action= "" method="POST">
                      Envoyer un mail à :<select name="adresse"> <?
                      $req=mysql_query ("SELECT * FROM mail ORDER BY id_mail ASC");
                       while ($ligne=mysql_fetch_array($req)){
                      echo "<option value =".$ligne['mail'].">". $ligne['nom_fonction']."</option>"                        ;}?></select>

Nom :
                    Prénom :
                   

Votre texte :<textarea name= "text" rows="7" cols="45"></textarea>
</form>

le php+javascript :

$verif_nom=false;
$verif_text=false;
if (isset($_POST['nom'])&& isset($_POST['text']))    $nom $_POST['nom']; $text stripslashes($_POST['text']);
if ($nom "" $text "")
echo "<script>window.alert("Veuillez remplir tous les champs...");</script>";
else $verif_nom =true; $verif_text=true;

if ($verif_nom==true && $verif_text==true)
 //j'envoie le mail
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
3 juil. 2007 à 19:10
Salut
Je ne sais pas si ça peut régler ton problème

<?php
$verif_nom=false;
$verif_text=false;
if (isset($_POST['nom'])&& isset($_POST['text']))    $nom $_POST['nom']; $text stripslashes($_POST['text']);
if ($nom "" $text "")
{
?>
<script>alert("Veuillez remplir tous les champs...");</script>"
<?php
}
else $verif_nom=true; $verif_text=true;

if ($verif_nom==true && $verif_text==true)
 //j'envoie le mail
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juil. 2007 à 09:13
si tu fais les contrôles en php
( et d'ailleurs if ($nom = = "" $text == ""

)   ce ne serait pas plutôt

if ($nom "" || $text ""


)

? )




c'est que tu ne renvoie pas la page correctement ( sans bgcolor par exemple )
regarder la page générée. ça doit manquer.


<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0

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

Posez votre question
yebs Messages postés 71 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 17 février 2010
4 juil. 2007 à 10:06
pour le if ($nom = = "" $text == "" ) , c'est juste une erreur de frappe quand j'ai écrit le message.
sinon, je ne comprends pas ce que tu veux dire :
/******   situ fais les contrôles en php( et d'ailleurs if ($nom "" $text "" )  ce ne serait pas plutôt if ($nom == "" || $text == "" ) ? )
c'est que tu ne renvoie pas la page correctement ( sans bgcolor par exemple )
regarder la page générée. ça doit manquer.********/

sinon, aujourd'hui, j'essaierai ce que me disait Yousfane, et on verra bien... je vous tiens au courant !

A+
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juil. 2007 à 10:31
la page affichée est créée par php, non ?
    en cas d'erreur tu ne dois pas renvoyer le bgcolor.

>>..tout le message est perdu..
    comme là encore tu fais les contrôles en php, il faut renvoyer ce qui
       a été saisi :
          " />




<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
yebs Messages postés 71 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 17 février 2010
4 juil. 2007 à 18:10
la page n'est pas créée entièrement en php, donc le bgcolor est indépendant de ça !
ok pour retrouver le message, mais du coup, je ne peux plus suivre mon idée de rafraichir la page après le window.alert puisque les $_POST sont gardés, et ça fait un message d'avertissement dont je me passerait bien (enfin surtout l'internaute)!

précisions :
- le problème du bgcolor n'atteind pas tout le fond du site ! (c'est bizarre je sais), en fait, la couleur à droite du site reste, et c'est en bas que c'est blanc.

- pendant un window.alert, c'est une page blanche qu'il y a derrière. est-ce normal ? et je pense que c'est cette page blanche qui fait bugger quand je reviens sur le site véritable, bien qu'au fond je n'ai jamai changé de page !

- le problème n'existe pas sous ie, c'est sous firefox qu'il y a soucis !

j'ai essayé la solution de Yousfane, en n'incluant pas le script dans le echo du php, mais c'est toujours pareil !

et je repose ma question du départ :
est-ce qu'il est possible d'écouter la validation du window.alert ??

a+
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 juil. 2007 à 10:53
>>la page n'est pas créée entièrement en php, donc le bgcolor est indépendant de ça !
    mais si.
    puisque le contrôle se fait en php, c'est ce que répond le php qui est affiché.
    ( ou alors c'est de l'AJAX )

    affiche donc la source de la page après l'alert...


>>est-ce qu'il est possible d'écouter la validation du window.alert ??
    ça ne veut rien dire....
    alert affiche un message. dès qu'on clique sur "OK", le javascript continue.

>>le problème du bgcolor n'atteind pas tout le fond du site ! (c'est
bizarre je sais),
>>en fait, la couleur à droite du site reste, et c'est
en bas que c'est blanc.
    ah... ça n'a plus rine à voir ça !
    mais : t'as pas de bol, ma   a été cassée hier. alors sans un ch'tit extrait du code....



<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
Rejoignez-nous