Formulaire PHP, problème avec une "value"
Résolu
nicolasjoos
-
nicolasjoos -
nicolasjoos -
Bonjour à tous!
étant nul en Php je m'en remet a votre savoir.
Voici mon problème:
<input type='text' style='width:200; <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?> Nom' size="33px" />
dans ce champ de formulaire lorsque le visiteur oublie de remplir le champ mais appuie quand même sur "envoyer" le scripte lui indique son erreur (l'oubli de remplir un champ) mais fait apparaître une seconde fois le mot "Nom" à l'interieur du champ et ainsi de suite à chaque envoie.. Je suis clair, là??
Comment l'éviter?
Merci à tout ceux qui prendront le temps de me guider!
Nicolas
étant nul en Php je m'en remet a votre savoir.
Voici mon problème:
<input type='text' style='width:200; <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?> Nom' size="33px" />
dans ce champ de formulaire lorsque le visiteur oublie de remplir le champ mais appuie quand même sur "envoyer" le scripte lui indique son erreur (l'oubli de remplir un champ) mais fait apparaître une seconde fois le mot "Nom" à l'interieur du champ et ainsi de suite à chaque envoie.. Je suis clair, là??
Comment l'éviter?
Merci à tout ceux qui prendront le temps de me guider!
Nicolas
A voir également:
- Formulaire PHP, problème avec une "value"
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
16 réponses
Tu aurais deux solutions si j'ai bien compris ce que tu voulais :
1. Tu mets un peu de javascript pour enlever nom au clic de l'utilisateur :
2. Sinon tu fais un test sur $f_1 : if(empty($f_1)) echo 'Nom'; à l'intérieur du value par exemple....
1. Tu mets un peu de javascript pour enlever nom au clic de l'utilisateur :
<input onclick="this.value='';" .... />
2. Sinon tu fais un test sur $f_1 : if(empty($f_1)) echo 'Nom'; à l'intérieur du value par exemple....
J'aime bien l'idée du javascript!
Cela dit je comprends pas bien ou intégrer cette ligne de code... A la place de "value"?
comme ça:
<input type='text' style='width:200; <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' <input onclick="this.value='';" NOM /><?echo stripslashes($f_1);?> Nom' size="33px" />
Je sais, je ne suis pas au point!
Cela dit je comprends pas bien ou intégrer cette ligne de code... A la place de "value"?
comme ça:
<input type='text' style='width:200; <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' <input onclick="this.value='';" NOM /><?echo stripslashes($f_1);?> Nom' size="33px" />
Je sais, je ne suis pas au point!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ceci est un événement JavaScript que tu rajoutes, donc tu le mets en plus!
<input type='text' style='width:200; <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' <input onclick="this.value='';" value='NOM' /><?echo stripslashes($f_1);?> Nom' size="33px" />
Génial! Ce qui se passe maintenant c'est que le mot "nom" apparaît seulement lorsque l'on clique dans le champ (normal pour un "onclick"). Comment faire pour que "nom" soit là et disparraisse au moment ou l'on clique?
Quoi qu'il en soit, Merci beaucoup pour ton aide. J'éspère pouvoir te renvoyer l'ascenseur, peut-être pour des questions plus "graphiques".
Quoi qu'il en soit, Merci beaucoup pour ton aide. J'éspère pouvoir te renvoyer l'ascenseur, peut-être pour des questions plus "graphiques".
Je n'ai pas compris, ce que je t'ai dit est censé faire disparaître le Nom au moment du clic et pas l'inverse.
Dans cette ligne il faut comprendre : "Au clic sur mon champ, j'affecte à CET élément (this) la VALEUR (value) EGALE (=) à 'La valeur que tu veux'"
Donc si tu veux effacer tu mets '' comme valeur comme j'ai posté au dessus.
onclick="this.value='La valeur que tu veux'
Dans cette ligne il faut comprendre : "Au clic sur mon champ, j'affecte à CET élément (this) la VALEUR (value) EGALE (=) à 'La valeur que tu veux'"
Donc si tu veux effacer tu mets '' comme valeur comme j'ai posté au dessus.
mmmh.. C'est le contraire qui se passe. "Nom apparait lorsque l'on clique sur le champ. Voici le code:
<input type='text' style='width:200; <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size="33px" onclick="this.value='Nom';" />
et ici pour voir (premier champ seulement):
http://www.formatmondial.com/infodos/contacte.php
<input type='text' style='width:200; <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size="33px" onclick="this.value='Nom';" />
et ici pour voir (premier champ seulement):
http://www.formatmondial.com/infodos/contacte.php
Tu enlèves le Nom du onclick (tu laisses '') et tu le mets dans le value comme au début pour l'avoir par défaut tout de même.
Tu as trouvé! C'est parfait! Grandiose!
Merci Dynamix!
Merci pour le temps que tu m'as consacré et le savoir que tu as partagé!
Bonne soirée à toi et n'hésite pas à me contacter via cette conversation si un jour tu as besoin de mes services. (J'imagine que j'aurais quand à moi plutôt besoin des tiens :-) )
Bonne nuit.
Merci Dynamix!
Merci pour le temps que tu m'as consacré et le savoir que tu as partagé!
Bonne soirée à toi et n'hésite pas à me contacter via cette conversation si un jour tu as besoin de mes services. (J'imagine que j'aurais quand à moi plutôt besoin des tiens :-) )
Bonne nuit.
Ok y a pas de soucis, content de t'avoir aidé ;). Je me débrouille pas trop mal sur tout ce qui est webdesign mais si l'envie/le besoin me prend je te mp et réciproquement (sauf si c'est bon à partager bien sûr :)).
Bonjour Dynamix.
Hier soir, fatigué j'ai pas tout vérifier mais il reste un petit problème. Si un visiteur oublie de remplir un champ mais clique quand même sur le bouton "envoyer" mon scripte lui affiche un message d'erreur lui indiquant qu'un champ est vide. Le problème est que le titre du champ vide (p.ex "Nom") se répète dans le champs ("Nom Nom") et ainsi à chaque clique.
Saurais-tu comment l'éviter?
Bonne matinée!
Hier soir, fatigué j'ai pas tout vérifier mais il reste un petit problème. Si un visiteur oublie de remplir un champ mais clique quand même sur le bouton "envoyer" mon scripte lui affiche un message d'erreur lui indiquant qu'un champ est vide. Le problème est que le titre du champ vide (p.ex "Nom") se répète dans le champs ("Nom Nom") et ainsi à chaque clique.
Saurais-tu comment l'éviter?
Bonne matinée!
Salut Dinamix!
J'ai passé le code à un pote qui a trouvé une solution...
<input type='text' style='<? if($errf_1==1){print(";background-color:".$color_form_warn.";color:".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size="30" onFocus="if(this.value=='Nom'){this.value='';}" onBlur="if(this.value==''){this.value='Nom'}" />
Tu peux aller voir le résultat ici:
http://www.formatmondial.com/infodos/contacte.php
Avec un peu de Jquery et de CSS c'est completement crossbrowser! (Mac en tout cas, demain je test sous PC)
Qu'en penses-tu?
J'ai passé le code à un pote qui a trouvé une solution...
<input type='text' style='<? if($errf_1==1){print(";background-color:".$color_form_warn.";color:".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size="30" onFocus="if(this.value=='Nom'){this.value='';}" onBlur="if(this.value==''){this.value='Nom'}" />
Tu peux aller voir le résultat ici:
http://www.formatmondial.com/infodos/contacte.php
Avec un peu de Jquery et de CSS c'est completement crossbrowser! (Mac en tout cas, demain je test sous PC)
Qu'en penses-tu?
Ah ben c'est nickel comme ça :)
Sinon tu devrais pas avoir de soucis de compatibilité là entre les navigateurs.
Sinon tu devrais pas avoir de soucis de compatibilité là entre les navigateurs.
Ouais, ça à l'air de rouler... Ensuite, le seul "problème" était d'arriver à faire que les champs "inputs" (en pixels) et "textarea" (en cols) aient la même taille. Je l'ai assez bêtement régler dans le CSS:
input, textarea {
margin: 0;
padding: 0;
width: 400px;
}
Je le dit car ça pourrait intéresser certains...
Merci pour tout Dinamix et au plaisir!
input, textarea {
margin: 0;
padding: 0;
width: 400px;
}
Je le dit car ça pourrait intéresser certains...
Merci pour tout Dinamix et au plaisir!
Je me suis mal expliqué. En fait je veux que "Nom" apparaisse dans le champ du formulaire et que le visiteur le remplace par son nom. Seulement ce fameux "Nom" ce duplique dans le champ à chaque fois que l'on clique sur " envoyer".