Simulaition du click sur un bouton dans firefox

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 - 2 sept. 2005 à 04:17
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 - 2 sept. 2005 à 15:59
Salut à vous ...

Je suis développeur Flash, bon je m'y connais assez en JS, mais pas tt a fait assez apparement

voilà le but de mon truc et de faire un simulation d'un balise input file dans Flash (chose qui n'existe pas pour l'instant)

donc depuis Flash j'appel un fonction JS qui ecrit un layer avec un form et un champ input file

le mm script simule un click sur le bouton du input file pour s'ouvre la fenetre de selection de fichier...

mon script marche tres bien ss IE, mais nada sous FireFox

pas de prob pour créer dynamique le calque, mais le click me pose probleme :(

voici mon code :


var LR = "
";

LR += "<form name="upload" method="post" enctype="multipart/form-data">";

LR += "";

LR += "</form>";

LR += "
";

document.getElementById('browseLayer').style.visibility = "hidden";

var range = document.createRange();

range.setStartBefore(document.body.lastChild);

var docFrag = range.createContextualFragment(LR);

document.body.appendChild(docFrag);

btn = document.getElementById("file");

btn.onchange = function(){


document[FlashName].SetVariable(FlashVarName,
document.upload.file.value);

document.all["browseLayer"].innerHTML='';

document.all["browseLayer"].outerHTML='';

}

btn.click();

ca me crée bien le div, le cache, mais rien apres

quelqu'un aurait t'il un idée pour me régler ce prob ...

merci d'avance ...

++

Flash sans Limites
_Benjy

6 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2005 à 12:40
Bonjour,
dèjà, des "choses" exclusives Internet Explorer :
createRange => remplacer par .selectionStart .selectionEnd..
document.all => remplacer par document.getElementById("id de la zone")

Cordialement. Bul. 
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
2 sept. 2005 à 15:02
salut bultez

merci pour la réponse, mais ca change rien au probleme ... :(

j'ai donc utilisé selectionStart pour range

et oki pour les getElementById a la place des document.all

mais le prob perciste

qui plus est le seul bout de code qui ne mache pas c'est bien le
CLICK(), car avec mon code précédent, mon layer été bien créer, et
cacher...

donc le prob doit pas venir de là

Flash sans Limites
_Benjy
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2005 à 15:21
on peut voir le nouveau script ?
"car pas de raisons" ( oui, je sais
que c'est agaçant de dire ça, mais
c'est vrai )
Cordialement. Bul. 
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
2 sept. 2005 à 15:32
oki

donc tu trouvera l'exemple complet là : http://kolapsis.net/kFile/
j'ai laissé affiché le calque pour que l'on puisse cliqué manuellement sur le bouton > et ca marche

le script est là : http://kolapsis.net/kFile/kFile.js

et voilou

merci d'avance

++


Flash sans Limites
_Benjy

ps : merci de penser a accepter la reponse si elle te convient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2005 à 15:49
j'ai regardé très rapidement le .js
et le .createrange est toujours là.
donc toujours exclusif IE.
Cordialement. Bul. 
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
2 sept. 2005 à 15:59
je sais bien qu'il est là, mais il marche tres bien .... le claque est bien créer

Flash sans Limites
_Benjy
0
Rejoignez-nous