Rechercher : dans
Par :

Recharger page sans vider champs formulaire

Dernière réponse le 20 jun 2008 à 21:21:35 metis15, le 20 jun 2008 à 18:28:59 
 Signaler ce message aux modérateurs

Bonjour,
je galère sur un truc :

J'ai un formulaire qui comporte un captcha pour éviter le spam.

Si l'image des lettres à recopier n'est pas bonne, on peut faire recharger la page pour voir un nouveau captcha...
Mais les champs qu'on a déjà remplis, reviennent vides.
C'est pas cool, le visiteur est vite énervée!(;o))))

Comment qu'on fait pour éviter ça...?

Merci pour les infos à venir !

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Recharger page sans vider champs formulaire » dans :
Javascript - Effacer un champ de formulaire lors du clic (focus) VoirIl vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de...
[Webmaster] Publier facilement une vidéo dans une page web VoirPublier une vidéo dans une page web n'est pas toujours évident: Selon le format (AVI, MPG, MOV...) tout le monde ne possède pas forcément le bon plugin et le bon codec. En revanche, la quasi-totalité des navigateurs possèdent le plugin Flash (SWF)....
Impossible de lire une video Youtube en plein écran. VoirIl se peut que lorsque vous voulez regarder une vidéo sur Youtube en plein écran, la vidéo ne s'affiche pas. A la place, il y a uniquement un triangle gris et un autre blanc: Voici comment résoudre le problème : Cliquez-droit sur la vidéo...

1

d0o0b, le 20 jun 2008 à 18:34:49

Pourquoi recharges-tu la page entière et pas seulement le captcha ???

Sinon le fait qu'ils reviennent vide correspond à une préférence de l'explorateur, le client peut décider de sauver ou non lors de la navigation le contenu des champs de saisie.

Répondre à d0o0b

2

metis15, le 20 jun 2008 à 18:44:04

Bah j'ai essayé en mettant un lien sur captcha.php afin de le recharger mais la page contenant le formulaire réapparait avec les champs vidés...
Faudrait que ça puisse marcher quelque soient les condition du navigateur client...

Merci pour ton aide (surtout si tu as une meilleure idée(;o)))

Répondre à metis15

4

d0o0b, le 20 jun 2008 à 18:48:23

Evidemment si tu mets un liens vers captcha.php, toute la page se recharge.
Il faut recharger uniquement la zone contenant le captcha :
1.l'utilisateur clique sur recharger le captcha
2.tu envoies une request XMLHTTPRequest ( http://www.toutjavascript.com/savoir/xmlhttprequest.php3 ) vers ton fichier captcha.php
3.Le fichier captcha.php te renvoit une nouvelle image
4.Tu la mets à jour dans ta zone captcha
Tout ça sans recharger la page.

Répondre à d0o0b

6

macgawel, le 20 jun 2008 à 18:51:31

Le problème, avec cette solution, c'est que ça suppose que le Javascript soit supporté par le navigateur, et pas désactivé...

Répondre à macgawel

8

metis15, le 20 jun 2008 à 18:57:12

Pffffiou !!!!!
je suis sur la page de toutjavascript, je vais essayer d'installer ça !!
Chui pas doué, mais je ne lache pas le morceau.
Merci !!!
(à + pour le compte rendu !(;o))))

Répondre à metis15

3

macgawel, le 20 jun 2008 à 18:45:52

Bonjour.

Il y a plusieurs solutions. En fait, ça dépend de comment tu gères le formulaire...

- Si ton formulaire envoie sur une page de vérification, tu peux utiliser les sessions, et stocker les données transmises avec
$_SESSION['nomduchamp'] = $_POST['nomduchamp'].
N'oublie pas, si le formulaire est valide, de faire un unset($_SESSION['nomduchamp']) ! (tu peux en profiter pour conserver le nom et autres informations...)

Et dans la page qui contient ton formulaire, tu testes

echo "<input type=... name='nomduchamp' value='";
IF isset($_SESSION['nomduchamp']) {
   echo $_SESSION['nomduchamp'];
}
echo "' />";


- Si ton formulaire renvoie sur la même page, tu n'as même pas besoin de passer par les sessions, il suffit, si le test du captcha est râté, de remplir les value de tes champs avec le $_POST['nomduchamp']

Voila pour le principe général. Après, pour être plus précis, il faudrait que tu donnes ton code...

Répondre à macgawel

5

metis15, le 20 jun 2008 à 18:49:53

Ah voui...
Mais je suis nullissime en codage et ça, je ne vais pas arriver à le faire.
Par contre, je pourrais adapter un ensemble de page qui marche.
Enfin bon, je ne suis pas doué pour créer des tables dans MySQL qui est duchinois pour moi.

Bref, je suis dans la m....
(;o)))))))))

Répondre à metis15

7

d0o0b, le 20 jun 2008 à 18:52:49

Qui te parle de mySql ? :/
C'est très facile à mettre en oeuvre, les exemples foisonnent sur le net, ici par exemple un très bon tuto : http://siddh.developpez.com/articles/ajax/#LIII

Répondre à d0o0b

9

 metis15, le 20 jun 2008 à 21:21:35

Bon, j'ai un peu tout essayé, je n'arrive pas à faire marcher ces différentes solutions.
Je suis nul en code et ça ne va pas s'arranger.

J'ai donc monté une bidouille avec un iframe et ça marche...
C'est pas élégant, mais ça je sais faire.

Merci pour vos aides.

Répondre à metis15