Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1304 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Méthode click(); sur un objet input : IE OK, mais MOZ NOK ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Méthode click(); sur un objet input : IE OK, mais MOZ NOK ?

n°1128499
skylight
Made in France.
Posté le 23-06-2005 à 11:49:53  profilanswer
 

Hello,
 
Pour des raisons techniques (déport de l'affichage d'un formulaire), j'ai effectué une modification quant à un formulaire de type "file".
 
Le formulaire de type "file" est caché, et je laisse apparaitre un champ texte avec un bouton.
 
Voici le code source :  

Code :
  1. <input type="text" name="toto" id="toto" />
  2. <input type="button" name="truc" value="Choisir" onclick="ihih()" />
  3. <input type="file" name="ahah" id="ahah" style="display:none;" />
  4. <script type="text/javascript">
  5. function ihih() {
  6. document.getElementById('ahah').click();
  7. document.getElementById('toto').value = document.getElementById('ahah').value;
  8. }
  9. </script>


 
Ca fonctionne sur IE.
Mais sur Mozilla, il ne se passe rien... vous avez une idée du pourquoi ?
Raisons de sécurité particulière ?
 
Sachant que je ne fais pas ceci pour changer le texte du bouton "parcourir", mais pour déporter le champ "file" dans un autre endroit de la page (là où il y a le formulaire en fait), pour des raisons d'interface...
 
 
En gros  
 
HTML PAGE
INPUT TYPE FILE (il doit etre affiché ici)
blablabla
 
 
 
<form>
TOUS LES INPUTS en HIDDEN
<input type="submit" blablabla ... />
</form>
 
Merci à tous.

mood
Publicité
Posté le 23-06-2005 à 11:49:53  profilanswer
 

n°1128503
FlorentG
Posté le 23-06-2005 à 11:51:04  profilanswer
 

[:pingouino] Je pige pas l'interêt [:johneh]

n°1128511
skylight
Made in France.
Posté le 23-06-2005 à 12:00:14  profilanswer
 

Moi non plus, mais on me demande de faire ça.
En gros, afficher un formulaire de type "file" à un autre endroit de la page, hors du formulaire caché rassemblant toutes les infos, et ce champ doit etre inclus lors de la validation...

n°1128515
skylight
Made in France.
Posté le 23-06-2005 à 12:02:33  profilanswer
 

J'passe tout mon temps sur cette connerie depuis ce matin, j'sens que le resp. technique va aller se faire foutre [:kiki]

n°1128519
masklinn
í dag viðrar vel til loftárása
Posté le 23-06-2005 à 12:07:05  profilanswer
 

Bon, déjà, comme florent j'ai du mal à voir l'intérêt: on modifie le comportement par défaut du navigateur pour rien au risque de gêner certains utilisateurs (javascript désactivé = DTC), de voir des bugs à la con apparaître (exemple ici, et IE et Moz/Fox ne sont pas les seuls navigateurs au mode) et de perdre tout le reste des utilisateurs, qui ne comprendront pas nécessairement la logique du bouzin.
 
C'est non seulement inutile, mais c'est illogique (on crée dans le markup des éléments redondants sans intérêt et on effectue des traitements redondants avec les actions natives pour rien) et dangereux

skylight a écrit :

document.getElementById('ahah').click();


wtf depuis quand les nodes ont un membre "click"? :heink:


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
n°1128528
gatsusat
Posté le 23-06-2005 à 12:09:59  profilanswer
 

un champ de type file est read-only.  
 
tu peux pas te permet d'ecrire un comptenu dans ce champ

n°1128529
FlorentG
Posté le 23-06-2005 à 12:10:29  profilanswer
 

Il fait l'inverse, il prend le contenu du file pour le mettre ailleurs

n°1128531
masklinn
í dag viðrar vel til loftárása
Posté le 23-06-2005 à 12:12:04  profilanswer
 

gatsusat a écrit :

un champ de type file est read-only.  
 
tu peux pas te permet d'ecrire un comptenu dans ce champ


Il n'écrit pas dedans.
 
Il déclenche manuellement l'action de click de l'input file puis récupère la valeur pour la mettre dans un input text, donc il n'écrit jamais explicitement dans l'input file.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
n°1128543
skylight
Made in France.
Posté le 23-06-2005 à 12:17:25  profilanswer
 

masklinn a écrit :

Bon, déjà, comme florent j'ai du mal à voir l'intérêt: on modifie le comportement par défaut du navigateur pour rien au risque de gêner certains utilisateurs (javascript désactivé = DTC), de voir des bugs à la con apparaître (exemple ici, et IE et Moz/Fox ne sont pas les seuls navigateurs au mode) et de perdre tout le reste des utilisateurs, qui ne comprendront pas nécessairement la logique du bouzin.
 
C'est non seulement inutile, mais c'est illogique (on crée dans le markup des éléments redondants sans intérêt et on effectue des traitements redondants avec les actions natives pour rien) et dangereux
 
wtf depuis quand les nodes ont un membre "click"? :heink:


 
 
Je sais très bien tout ça... [:splinter]  
 
Mais tu sais, dans le monde pro, parfois tu n'as pas le choix, tu ne peux pas forcément étaler toute ta science CSS/XHTML et sa sémantique correcte...

n°1128549
masklinn
í dag viðrar vel til loftárása
Posté le 23-06-2005 à 12:22:35  profilanswer
 

skylight a écrit :

Mais tu sais, dans le monde pro, parfois tu n'as pas le choix, tu ne peux pas forcément étaler toute ta science CSS/XHTML et sa sémantique correcte...


T'as toujours le choix d'expliquer au dissaïdor que ce qu'il demande est un non sens, et pourquoi [:spamafote]  
 
Si tu l'as pas, il y a un problème dans la logique de fonctionnement de ta boite [:spamafote]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
mood
Publicité
Posté le 23-06-2005 à 12:22:35  profilanswer
 

n°1128551
FlorentG
Posté le 23-06-2005 à 12:23:06  profilanswer
 

Et surtout pourquoi ce n'est pas réalisable :D

n°1128580
skylight
Made in France.
Posté le 23-06-2005 à 13:03:00  profilanswer
 

masklinn a écrit :

T'as toujours le choix d'expliquer au dissaïdor que ce qu'il demande est un non sens, et pourquoi [:spamafote]  
 
Si tu l'as pas, il y a un problème dans la logique de fonctionnement de ta boite [:spamafote]


 
Il comprend très bien, mais c'est ce que le client demande...
 
Vous croyez que je me la joue bourrin en positionnant le formulaire "file" de manière absolue ? [:ddr555] ?

n°1128635
masklinn
í dag viðrar vel til loftárása
Posté le 23-06-2005 à 13:47:49  profilanswer
 

skylight a écrit :

Il comprend très bien, mais c'est ce que le client demande...


Le principe est le même, c'est à toi en tant que concepteur/designer d'expliquer au client pourquoi c'est bien/mal de faire quelque chose (avec des arguments qui lui parlent), de le mettre en garde [:spamafote]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
n°1128791
skylight
Made in France.
Posté le 23-06-2005 à 15:05:23  profilanswer
 

Et je continue, j'ai déjà expliqué tout ça au client, mais il reste sur sa position, c'est-à-dire qu'il veut ceci exactement [:spamafote]
Moi je m'en fous...

n°1128796
FlorentG
Posté le 23-06-2005 à 15:13:31  profilanswer
 

En fait, c'est pour faire un input file, mais avec un style spécial ?

n°1128798
FlorentG
Posté le 23-06-2005 à 15:16:44  profilanswer
 
n°1128924
skylight
Made in France.
Posté le 23-06-2005 à 16:38:37  profilanswer
 

Je connaissais cette technique, mais malheureusement ce n'est pas le sujet du problème ;)
 
Enfin bon j'vais positionner mon truc en absolu, ça sera plus vite réglé ...
 
Enfin,
 

Citation :


Unfortunately Mozilla and Opera haven't added this method to file upload fields


 
Donc j'ai pas rêvé. Firefox ne supporte pas encore la fonction click(); sur les inputs de type file.

n°1128925
FlorentG
Posté le 23-06-2005 à 16:39:24  profilanswer
 

Ah ? Mais ça permet d'avoir ton input planqué, et d'avoir le reste à la place. Donc j'ai vraiment pas du piger

n°1128935
gatsusat
Posté le 23-06-2005 à 16:46:56  profilanswer
 

ca fait un peu gros trou de sécurité quand même ca, de cliquer à la place de l"humain.
tu diras au client que c'est naze ce qu'il cherche à faire

n°1128942
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-06-2005 à 16:51:26  profilanswer
 

skylight a écrit :


Vous croyez que je me la joue bourrin en positionnant le formulaire "file" de manière absolue ? [:ddr555] ?


 
Je trouve ça moins bourrin de positionner l'input via CSS pour qu'il soit visuellement à un autre endroit que d'aller faire cette bidouille en JS. C'est un peu le but des CSS et des positionnements absolu, garder une sémantique correcte dans le HTML mais tout boulverser à l'affichage.


Message édité par antp le 23-06-2005 à 16:52:36

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1128959
j_lecruel
☀ ☁ ☂
Posté le 23-06-2005 à 16:58:15  profilanswer
 

+1

n°1128964
masklinn
í dag viðrar vel til loftárása
Posté le 23-06-2005 à 17:00:28  profilanswer
 

+2 http://www.snook.ca/archives/000376.html :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
n°1129024
skylight
Made in France.
Posté le 23-06-2005 à 17:34:30  profilanswer
 

FlorentG a écrit :

Ah ? Mais ça permet d'avoir ton input planqué, et d'avoir le reste à la place. Donc j'ai vraiment pas du piger


Pour ta technique, il faut que les 2 inputs "file" et text soient l'un en dessous de l'autre. (C'est ce qui donne l'impression de cliquer sur le bouton alors qu'en fait tu cliques sur l'input "file" ).
Ou alors c'est moi qui n'ai rien compris.
 
Hors, moi, il faut qu'ils soient à des endroits différents (visuellement)

n°1129150
FlorentG
Posté le 23-06-2005 à 20:28:24  profilanswer
 

Waaaa ok. Donc on voit les deux ?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Méthode click(); sur un objet input : IE OK, mais MOZ NOK ?

 

Sujets relatifs
insere un objet dans un Fichier RFTDrag impossible sur un objet créé dynamiquement ?
Transformer mon code PHP en PHP ObjetExécuter une méthode d'un objet dans un Thread
rendre un input text impossible à modifier ?remplir un input
[VB.Net] Click droit dans l'explorateurAppel de la méthode OnMouseDown d'une grille sous C++ Builder
Gros problème <input type='file'>!!!! 
Plus de sujets relatifs à : Méthode click(); sur un objet input : IE OK, mais MOZ NOK ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)