Pourquoi le formulaire revient-il vide?

Michelk12_8898
Pourquoi le formulaire revient-il vide?

Hello,

Question de débutant (la honte, désolé).

J'ai fait un formulaire, après validation de ce dernier un message est transmis à l'utilisateur via un label et tous les champs sont vidés.

Comment conserver ces données? Il y a forcément un truc :lol:

Michel

fredericmazue

Comment ça il revient vide ? Je ne suis pas sûr de bien saisir la question Si la page est rechargée depuis le serveur, il est normal qu'elle soit vide quand elle revient puisqu'elle est, je suppose conçue vide.
Mais je ne comprends pas pourquoi elle devrait "revenir" et pas rester comme elle est si tu le souhaites.

Quoi qu'il en soit, bien sûr que l'on peut conserver des données. L'objet Session sert à ça. Mettons que dans le formulaire le nom fred ait été saisi, tu peux faire

Session("nom") = Label1.Text Ca équivaut à Session("nom") ="fred", donc fred est une chaîne sauvegardée sous l'identifiant nom

et pour récupérer, par exemple

Label1.Text = Session("nom")

Michelk12_8898

fredericmazue wrote:
Comment ça il revient vide ? Je ne suis pas sûr de bien saisir la question Si la page est rechargée depuis le serveur, il est normal qu'elle soit vide quand elle revient puisqu'elle est, je suppose conçue vide.

Exactement!
frederic wrote:

Mais je ne comprends pas pourquoi elle devrait "revenir" et pas rester comme elle est si tu le souhaites.

Si après une recherche dans la base je souhaite retourner le formulaire à l'utilisateur en lui pointant ce qu'il ne va pas?

Enfin le sympathique fred wrote:

Quoi qu'il en soit, bien sûr que l'on peut conserver des données. L'objet Session sert à ça. Mettons que dans le formulaire le nom fred ait été saisi, tu peux faire

Session("nom") = Label1.Text Ca équivaut à Session("nom") ="fred", donc fred est une chaîne sauvegardée sous l'identifiant nom

et pour récupérer, par exemple

Label1.Text = Session("nom")


Ce n'était donc pas une idée aussi débile d'avoir tenté de faire ainsi mais... je n'ai pas trouvé mieux que de placer avant la balise <\body> :

<script language="javascript">
    document.getElementById("Label1").value = "<%=Session["nom"]%>";
</script>

Si cela est disgracieux, faites-le moi savoir sinon je considère le sujet clos car je suis arrivé à ce que je voulais.

Ce que j'ai trouvé le plus curieux est qu'il est ainsi possible de donner le focus à un champ depuis le serveur ( Label1.Focus(); ) mais si "tordu" de le garder rempli...

Michel

fredericmazue

Quote:

Si après une recherche dans la base je souhaite retourner le formulaire à l'utilisateur en lui pointant ce qu'il ne va pas?

Ben faut pas oublier non plus que tu as tous les outils sous la main pour générer dynamiquement une page. AMHA la page qui contient ton formulaire, dans le cas tel que tu le présentes (si j'ai bien saisi) est plus destinée à être une page dynamique qu'une simple page statique.

Quote:

Si cela est disgracieux, faites-le moi savoir sinon je considère le sujet clos car je suis arrivé à ce que je voulais.

Disgracieux.... faut-il discuter des goût et des couleurs relatifs au code, pas sûr ;)
Du moment que tu as satisfaction.
Toutefois je vois que tu as codé ça en Javascript. En C# ou VB .Net tu as tout l'arsenal des gestionnaires d'événements pour agir dynamiquement sur la page au moment de son chargement. Ca pourrait t'être utilie une prochaine fois. Regarde la doc de la classe Page, qui encapsule une page .aspx. C'est plein de possibilités puissantes.

Michelk12_8898
Ha haha!

Hello!

Tiens tiens tiens... je regarde la page :
[url]http://msdn2.microsoft.com/fr-fr/library/system.web.ui.page(VS.80).aspx[/url]
(pourquoi le lien ne fonctionne-t-il pas?)

Et me dis, c'est exactement ce que je fais!! :?

Et puis... :roll: j'en viens à retirer TextMode="Password" de mon input qui ne veut pas rester rempli et... :o
Il est rempli!

Désolé pour le dérangement Fred mais j'ai encore appris quelque chose :D

Michel