|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
J'aimerais avoir quelques pistes pour mettre en place un effet de loader lors d'un envoi de formulaire qui contient un fichier. En effet, l'attente avec une page blanche n'est pas très gracieux et j'aimerais informer l'utilisateur que l'envoi est en cours. A noter que le formulaire appel une seconde page. Je remercie la ou les personnes qui m'aideront dans cette recherche du saint graal Formulaire : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Ingénieur développement logiciels Inscription : novembre 2008 Messages : 96 ![]() |
Bonjour Heretik25,
En ce qui concerne ton problème, j'aimerais comprendre, tu envoies ton formulaire, qui ouvre une deuxième page,et c'est sur cette deuxième page que se trouve ton temps d'attente (et que tu veux faire patienter avec un effet loader) ? Ou bien le temps d'attente se fait sur la première page (car la deuxième n'est pas encore ouverte)? |
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour et merci pour la réponse,
Lorsque je clic sur le bouton submit, cela ouvre la page de destination. Sur cette page, il y a une longue attente (envoi du fichier + traitement). J'aimerais que sur cette page il y ait un loader permettant de faire patienter l'utilisateur. Pour autant, j'aimerais savoir s'il est possible de faire patienter l'utilisateur sur la page du formulaire et n'ouvrir la page de destination que lorsque le traitement est fini (sachant que le formulaire à besoin de la page de destination pour faire son traitement). Merci ! |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Ingénieur développement logiciels Inscription : novembre 2008 Messages : 96 ![]() |
Alors je pense qu'il peut y avoir plusieurs moyens pour obtenir ce résultat. Cela dit, ne connaissant pas ton environnement de développement (notamment ton hypothétique utilisation de librairies spécifiques (car certaines librairies proposent des composants permettant d'effectuer cette fonctionnalité)), la solution la plus simple serait pour toi, de créer une boite de dialogue dans la page de ton formulaire, et d'assigner en image de fond un gif de type ajax loader (voici un lien si tu cherches ce genre de gif http://www.ajaxload.info/).
A l'envoi, de ton formulaire (avant le début du traitement) tu appelles l'ouverture de ta boite de dialogue, tu effectues ton traitement, tu ouvres la 2ème page, mais tu gardes le focus sur la première, puis une fois le traitement fini, tu fermes ta boite de dialogue, et tu assigne le focus à la deuxième fenêtre. Tu devrais ainsi obtenir le résultat voulu. C'est dans la théorie ce que tu fois faire, je ne te mets pas d'exemple de code, ne connaissant pas ton environnement, mais je pense que tu ne devrais pas avoir trop de difficultés. |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour et merci pour la réponse,
J'utilise jquery lorsque le besoin s'en fait ressentir. Concernant mon environnement, il n'y a rien de spécifique, j'utilise mysql sur un php 5, rien de plus, rien de moins. Si tu avais un exemple à me proposer pour m'aider à m'orienter, ce serait super ! |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Ingénieur développement logiciels Inscription : novembre 2008 Messages : 96 ![]() |
Si tu souhaites l'effectuer en JQuery, voici un lien qui t'aideras surement dans cette tâche.
Tu auras juste à remplacer le bouton par un appel de la fonction dans la balise "onsubmit" de ton formulaire ou "onclick" de ton input. |
|
|
00
|
|
|
#7 | ||||
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
J'ai rajouté le onSubmit sur la balise <form>
Code :
Code :
Merci. |
||||
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Ingé. Info. Inscription : janvier 2008 Messages : 339 ![]() |
Salut,
Tu pourrais faire un upload en ajax, (via une iframe, c'est le seul moyen) au lancement du submit tu fais apparaitre un gif animé, et quand le fichier et les infos sont uploadés, tu fais ce que tu veux après avoir masqué le gif.
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS |
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
Un petit exemple pour la route ? Merci ! |
|
|
00
|
|
|
#10 | ||||
|
Membre habitué
![]() Ingénieur développement logiciels Inscription : novembre 2008 Messages : 96 ![]() |
Citation:
Citation:
Comme je te l'avais dit, il y a plusieurs possibilités pour ton cas, si celle-ci ne te convient pas, tu peux tout aussi bien créer une image (<img>) contenant ton gif (ajax loader) que tu ancres en plein milieu de ton écran (position : absolute), et tu lui assignes un style css (display: none) pour la cacher. Assignes un id à ton image, ensuite tu auras juste à changer le style Css de ton image lors du commencement et la fin de ton traitement pour cacher ou afficher ton image. PS : N'oublie pas d'ajouter un z-index supérieur à ton image pour qu'elle s'affiche par-dessus le reste de ta page. |
||||
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : janvier 2008 Messages : 150 ![]() |
Si tu veux une vraie barre de défilement afin d'avoir la vrai valeur de l'attente, tu peux utiliser jquery en faisant ça :
http://jqueryui.com/demos/progressbar/#animated Le seul truc c'est que tu vas charger en requête pour savoir l'état actuelle du chargement. Enfin tout dépend comme toujours de tes besoins |
|
|
00
|
|
|
#12 | |||||
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Citation:
J'appelle la fonction et jquery Code :
Code :
<input type="submit" onclick="example_ajax_request()" value="Envoyer" name="submit" /> Code :
Au click, je charge donc la page /test.html sauf que moi, je veux que mon traitement s'effectue et que mon formulaire soit intégré en base. Deplus, l'image d'attente ne se charge pas. Je remercie par avance quiconque veut bien me donner la suite des bonnes étapes à produire pour voir afficher le petit loader au milieu de l'écran pendant que l'envoi du formulaire est en cours.
|
|||||
|
|
00
|
|
|
#13 | ||||
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
Je cherche une solution afin d'avoir un gif animé qui tourne au centre de l'écran. Ceci permet de faire l'utilisateur lors de l'envoi du formulaire. Seulement mon souci c'est que le traitement du formulaire se situe sur une seconde page et du coup mon gif que je fait apparaître sur le onsubmit de la balise du form disparait quelques secondes après, lorsque la page de destination s'affiche. Avez-vous une idée de comment je pourra procéder ? Merci. Je sais qu'on est en php mais en jquery j'avais juste fait : Code :
Code :
|
||||
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() Inscription : décembre 2009 Messages : 249 ![]() |
Lance une requete Ajax à la place d'utiliser un formulaire, comme ca avant de lancer la requete tu affiche ton image, lorsque la requete est finie tu la retire, et si tu le veux tu redirige sur une autre page!
Ce plugin te permet de le faire facilement si je me rappelle bien, il s'occupe de transformer toute les valeurs de ton formulaire comme aprametre de la requete ajax : http://jquery.malsup.com/form/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com