afficher logo/image chargement pour upload

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : afficher logo/image chargement pour upload

Re: afficher logo/image chargement pour upload

par sax76 » 08 nov. 2010, 14:27

oui le script seul fonctionne mais des que je le met dans mon script ca part en vrille .
j'ai des erreur dans la page et plus rien s'affiche ni patientez ni le dessin .

je vais finir par laisser juste le message ca suffira , trop prise de tete :(

Re: afficher logo/image chargement pour upload

par AB » 08 nov. 2010, 14:03

Bon, testes le code ci-dessous dans une page séparée
<?php
if (isset($_POST['ok']))
{
sleep(3);
}
?>

<script type="text/javascript">
<!--
function Verif_attente(id_attente,chemin_image)
    {
                   
        var id_attente = document.getElementById(id_attente);
       
        if (typeof id_attente != 'undefined')
        {
            // Nettoyage de l'élément cible
            var nb_noeuds = id_attente.childNodes.length;
                       
            for (var i = 0; i < nb_noeuds; i++)        
                                {                                  
                                        id_attente.removeChild(id_attente.firstChild);
                                }
               
            var texte = 'Patientez...  ';
            // Création du noeud texte
            var noeud_texte = document.createTextNode(texte);
                       
            // Création du noeud image
            var image = document.createElement('img');
            image.setAttribute('src',chemin_image);
                       
            // Insertion du noeud texte
            id_attente.appendChild(noeud_texte);
                       
            // Insertion du noeud image
            id_attente.appendChild(image);
        }
    }
-->
</script>

<form method="post" enctype = "multipart/form-data"  ...  onsubmit = "Verif_attente('message_attente','http://abciweb.net/graphiques/attente.gif')" >

<input type="submit" name = "ok" value = "ok" />
</form>

<div id = "message_attente"><img style="visibility:hidden" src="http://abciweb.net/graphiques/attente.gif" /></div>
Et ne me dis pas que ça ne fonctionne pas !
Ensuite remplace "http://abciweb.net/graphiques/attente.gif" par l'adresse de ton image

Re: afficher logo/image chargement pour upload

par sax76 » 08 nov. 2010, 12:33

j'ai testé avec un lien d'image valide .
il faut donc mettre 2 fois le lien de l'image .
mais des que je rajoute les lignes du noeud image
il se passe plus rien , meme le texte "Patientez..." apparait plus

Re: afficher logo/image chargement pour upload

par AB » 08 nov. 2010, 00:51

Testes le code que je t'ai donné dans une page séparée. Chez moi il fonctionne.

Evidemment pour qu'une image s'affiche il faut que tu mette le chemin de ton image comme deuxième paramètre dans l'appel à la fonction
onsubmit = "Verif_attente('message_attente','Image/image.gif')" dans le formulaire. Dans cet exemple dossier "Image" et le nom de l'image "image.gif"

Et tu remet ce même chemin dans le fichier source image de la ligne
<div id = "message_attente"><img style=" visibility:hidden" src="Image/image.gif" /></div>

Re: afficher logo/image chargement pour upload

par sax76 » 07 nov. 2010, 22:50

ca plante . enfin je veux dire il se passe rien .
des que je rajoute le ligne image ca affiche plus rien .
le script fonctionne mais j'ai plus de message

j'ai remis le script d'origine et ajouté juste la partie image dans le script java
<script type="text/javascript">
function Verif_attente(id_attente)    {              
        var id_attente = document.getElementById(id_attente);
        if (typeof id_attente != 'undefined') {
            // Nettoyage de l'élément cible
            var nb_noeuds = id_attente.childNodes.length;      
            for (var i = 0; i < nb_noeuds; i++)  {                                  
                id_attente.removeChild(id_attente.firstChild);
            }
	    var texte = 'Patientez ..........'; 	
  	    // Création du noeud texte
            var noeud_texte = document.createTextNode(texte);

    	   // Création du noeud image
            var image = document.createElement('img');
            image.setAttribute('src',chemin_image);
                       
            // Insertion du noeud texte
            id_attente.appendChild(noeud_texte);
                       
           // Insertion du noeud image
            id_attente.appendChild(image);
        }
}
si je rajoute la partie "noeud image" sans modifier le FORM il se passe plus rien , par contre si je vire la partie "noeud image" la ca remarche

Re: afficher logo/image chargement pour upload

par AB » 07 nov. 2010, 21:49

<?php
if (isset($_POST['ok']))
{
sleep(3);
}

?>
<script type="text/javascript">
<!--
function Verif_attente(id_attente,chemin_image)
    { 
		    
        var id_attente = document.getElementById(id_attente);
       
        if (typeof id_attente != 'undefined')
        {
            // Nettoyage de l'élément cible
            var nb_noeuds = id_attente.childNodes.length;
                       
            for (var i = 0; i < nb_noeuds; i++)        
                                {                                  
                                        id_attente.removeChild(id_attente.firstChild);
                                }
               
            var texte = 'Patientez...  ';
            // Création du noeud texte
            var noeud_texte = document.createTextNode(texte);
			
	    // Création du noeud image
	    var image = document.createElement('img');
	    image.setAttribute('src',chemin_image);
			
            // Insertion du noeud texte
            id_attente.appendChild(noeud_texte);
			
	    // Insertion du noeud image
            id_attente.appendChild(image);
        }
    }
-->
</script>

<form method="post" enctype = "multipart/form-data"  ...  onsubmit = "Verif_attente('message_attente','Image/image.gif')" >

<input type="submit" name = "ok" value = "ok" />
</form>

<div id = "message_attente"><img style=" visibility:hidden" src="Image/image.gif" /></div>
Voilà j'ai ajouté un second argument à la fonction Verif_attente dans lequel tu mets le chemin de l'image par rapport au script en cours.

J'ai mis aussi cette image dans le div qui affiche le message en visibility:hidden pour permettre le chargement de l'image dès la chargement de la page.

Re: afficher logo/image chargement pour upload

par sax76 » 07 nov. 2010, 13:32

a tu essayer var texte = '<img src="lien vers image" />'; ?

oui ca affiche le lien :) <img src="lien vers image" />


en dessous de
var texte = 'Patientez...';
je voudrais afficher une image gif ....

Re: afficher logo/image chargement pour upload

par sax76 » 07 nov. 2010, 13:25

c'est bon ça fonctionne reste à mettre l'image :)

Re: afficher logo/image chargement pour upload

par sax76 » 07 nov. 2010, 00:05

pour moi c'est pratique ca evite de recharger toute la page , juste le module :)

Re: afficher logo/image chargement pour upload

par moogli » 06 nov. 2010, 21:07

hum, faut voir avec les target="*truc*" suivant le nom de ton iframe, mais bon c'est moche les frames :roll:

@+

Re: afficher logo/image chargement pour upload

par sax76 » 06 nov. 2010, 19:36

impossible de l'avoir à 100% une idée ?

Re: afficher logo/image chargement pour upload

par sax76 » 05 nov. 2010, 23:16

bon j'ai un petit soucis :)
si le code tourne seul j'ai toujours le message "patientez ............" pas de soucis c'est fonctionnel
par contre si je met le code dans une autr page via un iframe , le "patientez...." apparait que la premiere fois lors de l'access a la page .
dans le code d'upload j'ai mis un bouton "up nouvelle image" et ca recharge le module d'envoi mais la lors du up pas de message

dois je modifier quelques chose dans le code d'origine ?

Re: afficher logo/image chargement pour upload

par moogli » 05 nov. 2010, 22:59

lu,

1/
a la place de : var texte = 'Patientez...';
a tu essayer var texte = '<img src="lien vers image" />'; ?

2/ cela ce fait avec CSS #message_attente { proprieté css voulu }

@+

Re: afficher logo/image chargement pour upload

par sax76 » 05 nov. 2010, 22:39

merci pour le code j'ai réussi à l'intégrer au script .
encore 2 tites questions :)

1/ comment mettre une image a la place de "patientez ....." , je suis perdu la :(
2/ ou alors si l'image bug , modifier la police d'ecriture de "patientez ...."

Cdt

Re: afficher logo/image chargement pour upload

par AB » 03 nov. 2010, 23:31

ce lien est également un script d'upload qui indique "patientez..." en attendant la fin du chargement.

La partie javascript qui va t'intéresser est :
<script type="text/javascript">
<!--
function Verif_attente(id_attente)
    {              
        var id_attente = document.getElementById(id_attente);
       
        if (typeof id_attente != 'undefined')
        {
            // Nettoyage de l'élément cible
            var nb_noeuds = id_attente.childNodes.length;
                       
            for (var i = 0; i < nb_noeuds; i++)        
                                {                                  
                                        id_attente.removeChild(id_attente.firstChild);
                                }
               
            var texte = 'Patientez...';
            // Création du noeud texte
            var noeud_texte = document.createTextNode(texte);
            // Insertion du noeud texte
            id_attente.appendChild(noeud_texte);
        }
    }
-->
</script>
on appelle la fonction Verif_attente onsubmit dans la balise form en indiquant en paramètre l'id du bloc pour l'affichage
<form enctype = "multipart/form-data"  ...  onsubmit = "Verif_attente('message_attente')" >

...
</form>

<div id = "message_attente"></div>
A l'époque je n'avais pas mis de gif animé (et donc un message à la place) car le gif restait figé avec IE6 et peut-être sur d'autres versions d'IE ce qui pouvait donner à penser que le téléchargement était bloqué. Mais pour un gif animé on peut reprendre le même principe.
La fonction javascript pourrait aussi être plus simple...