afficher calque grace a onchange

Eléphant du PHP | 218 Messages

18 juin 2010, 19:44

Bonjour, comment puis-je faire pour afficher un calque à partir de OnChange de mon bouton très compliqué étant donné que le OnChange de celui-ci est déja occupé parce que je voudrais pouvoir afficher un "ajax loader" lorsque je valide mon input file?

Mon OnChange permet actuellement d'envoyer automatiquement une photo choisi dans un repertoire sans avoir a cliquer sur un bouton submit.


<form method="post" id="form_file" enctype="multipart/form-data" action="#">
 
 
 
<div class="parcourirdiv" ><img src="../../interface/bt_parcourir.gif" id="imgparc_<?php echo $nombre_de_boites ?>_1" /><input type="file" onclick="document.getElementById('id_<?php echo $nombre_de_boites ?>_1').value=this.name" class="parcourir" onchange="document.getElementById('form_file').submit()" name="<?php echo $nombre_de_boites ?>_1" OnMouseOver="imgparc_<?php echo $nombre_de_boites ?>_1.src='../../interface/bt_parcourir_push.gif';" OnMouseOut="imgparc_<?php echo $nombre_de_boites ?>_1.src='../../interface/bt_parcourir.gif';" /></div>
 
<input type='hidden' name='boutonphoto_<?php echo $nombre_de_boites ?>_1' id='id_<?php echo $nombre_de_boites ?>_1' value='' />
 
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Mammouth du PHP | 661 Messages

18 juin 2010, 22:27

hello !

Une question :: (sans que ce soit péjoratif, ni souhaiter dénigrer ton travail) :: tu n'as jamais pensé à faire un code plus propre ? :twisted:
Il me semble que tu commences à etre habitué au javascript, il pourrais t'etre bien profitable de virer tous les onclick, onmouseOver, ... et les remplacer par des methodes natives de JavaScript :: addEventListener('click', myFunction) par exemple ^^ ...

l'interet entre autre de ces fonctions, c'est que tu traite le javascript comme couche indépendante de ton HTML, ainsi, tu peux ajouter, supprimer, modifier intégralement tes effets javascript sans toucher à ton HTML ...

je sais que c'est trés facile de metre les onclick=maFunction() plutot que de faire document.getElementById('monElement').addEventListener("click", maFunction, false);
Mais tu te rendra vite compte que ça bénéfiques de faire ainsi !... tu peux par ailleurs lancer cette fonction au chargement pour plancer des events sur tous les éléments possédant une certaine classe, (pour les mouseover et les mouseout) ... ...
mais aussi placer plusieurs écouteurs sur un meme élément (ton besoin, justement ^^)

@++ !...

ViPHP
ViPHP | 5462 Messages

19 juin 2010, 08:06

hello !

Une question :: (sans que ce soit péjoratif, ni souhaiter dénigrer ton travail) :: tu n'as jamais pensé à faire un code plus propre ? :twisted:
Il me semble que tu commences à etre habitué au javascript, il pourrais t'etre bien profitable de virer tous les onclick, onmouseOver, ... et les remplacer par des methodes natives de JavaScript :: addEventListener('click', myFunction) par exemple ^^ ...

l'interet entre autre de ces fonctions, c'est que tu traite le javascript comme couche indépendante de ton HTML, ainsi, tu peux ajouter, supprimer, modifier intégralement tes effets javascript sans toucher à ton HTML ...

je sais que c'est trés facile de metre les onclick=maFunction() plutot que de faire document.getElementById('monElement').addEventListener("click", maFunction, false);
Mais tu te rendra vite compte que ça bénéfiques de faire ainsi !... tu peux par ailleurs lancer cette fonction au chargement pour plancer des events sur tous les éléments possédant une certaine classe, (pour les mouseover et les mouseout) ... ...
mais aussi placer plusieurs écouteurs sur un meme élément (ton besoin, justement ^^)

@++ !...
techniquement c'est correct mais bon... (c'est pas top)
plus d'info ici : http://fr.wikipedia.org/wiki/Javascript_discret :wink: