Bonjour à tous,
Une instruction SetTimeout me sert à afficher brièvement un message, après qu'une opération a été réalisée. Comme ceci:
Et plus bas sur la page, là où le verdict s'affiche, il y a ça:
Sous IE, le message n'apparait que pendant 10 secondes après le chargement de la page, comme prévu.
Sous FF, le message apparait MAIS IL RESTE AFFICHÉ éternellement.
Est-ce que j'ai fait une connerie ou est-ce que j'utilise mal des éléments qui ne sont pas fait pour ça ? Je l'ignore. La question est probablement assez simple, pour des pros comme ceux qui fréquentent ici.
C'est grave docteur ?
YodaSuisse
P.S.
Pour les curieux, voici à quoi ça me sert (génériquement).
C'est pour des formulaires vides que l'utilisateur peut remplir (il alimente des records dans une base de données). Il peut à tout moment cliquer le bouton Enregistrer pour sauvegarder son 'record' en l'état actuel. Et après traitement, au lieu d'être renvoyé à un menu ou à une liste, il reçoit la même page d'édition avec ses champs déjà remplis, et il peut poursuivre sa saisie ou apporter des modifications aux champs déjà renseignés. Ca le sécurise. Il peut cliquer 'Enregistrer' comme il le ferait avec CTRL+S en tapant un texte, par exemple.
Dans un traitement de texte, quand on enregistre son travail avec CTRL+S, on voit souvent un bref effet visuel qui montre que le texte est sauvegardé. Sur le web, la sauvegarde implique un aller-retour vers le serveur, et l'utilisateur ne le perçoit pas toujours (si il ne regarde pas la barre d'état). J'ai donc, quand je lui re-sers la page, un message temporaire qui apparait au haut de celle-ci, et qui dit "Dossier enregistré". L'utilisateur sait alors que l'aller-retour s'est fait et que le contenu du formulaire a été enregistré. Mais ce message doit disparaitre au bout de quelques secondes, puisque l'utilisateur peut continuer à remplir les champs (et devra alors enregistrer à nouveau ses dernières modifs, évidemment). Si il continue de taper et que c'est toujours affiché "Dossier enregistré" en haut, ça ne veut plus rien dire. D'où ma petite fonction simple.
Voilà. (Euh, c'est clair?)
Modifié par YodaSuisse (17 Aug 2006 - 13:58)
Une instruction SetTimeout me sert à afficher brièvement un message, après qu'une opération a été réalisée. Comme ceci:
<script language="JavaScript">
<!--
this.setTimeout("EffacerLeVerdict()",10000);
function EffacerLeVerdict()
{
document.getElementById("MessageTemporaire").innerText = "";
}
// -->
</script>
Et plus bas sur la page, là où le verdict s'affiche, il y a ça:
<label id ="MessageTemporaire">Dossier enregistré.</label>
Sous IE, le message n'apparait que pendant 10 secondes après le chargement de la page, comme prévu.
Sous FF, le message apparait MAIS IL RESTE AFFICHÉ éternellement.
Est-ce que j'ai fait une connerie ou est-ce que j'utilise mal des éléments qui ne sont pas fait pour ça ? Je l'ignore. La question est probablement assez simple, pour des pros comme ceux qui fréquentent ici.
C'est grave docteur ?
YodaSuisse
P.S.
Pour les curieux, voici à quoi ça me sert (génériquement).
C'est pour des formulaires vides que l'utilisateur peut remplir (il alimente des records dans une base de données). Il peut à tout moment cliquer le bouton Enregistrer pour sauvegarder son 'record' en l'état actuel. Et après traitement, au lieu d'être renvoyé à un menu ou à une liste, il reçoit la même page d'édition avec ses champs déjà remplis, et il peut poursuivre sa saisie ou apporter des modifications aux champs déjà renseignés. Ca le sécurise. Il peut cliquer 'Enregistrer' comme il le ferait avec CTRL+S en tapant un texte, par exemple.
Dans un traitement de texte, quand on enregistre son travail avec CTRL+S, on voit souvent un bref effet visuel qui montre que le texte est sauvegardé. Sur le web, la sauvegarde implique un aller-retour vers le serveur, et l'utilisateur ne le perçoit pas toujours (si il ne regarde pas la barre d'état). J'ai donc, quand je lui re-sers la page, un message temporaire qui apparait au haut de celle-ci, et qui dit "Dossier enregistré". L'utilisateur sait alors que l'aller-retour s'est fait et que le contenu du formulaire a été enregistré. Mais ce message doit disparaitre au bout de quelques secondes, puisque l'utilisateur peut continuer à remplir les champs (et devra alors enregistrer à nouveau ses dernières modifs, évidemment). Si il continue de taper et que c'est toujours affiché "Dossier enregistré" en haut, ça ne veut plus rien dire. D'où ma petite fonction simple.
Voilà. (Euh, c'est clair?)
Modifié par YodaSuisse (17 Aug 2006 - 13:58)