Page 1 sur 1
[R] Problème de controlSend vers un Input_file
Posté : mar. 29 mars 2011 14:50
par redlatino
Voilà j'ai un problème sur script de mise à jour automatique du site web de ma boite sur phpMyadmin.
Au formulaire d'importation en csv, j'arrive à contrôler tout sauf le input_file (avec le bouton parcourir). J'ai essayé beaucoup de méthode mais rien ne marche (comme celle avec _IE_Example dans la doc) :
Exemple de ce que j'ai essayé
Code : Tout sélectionner
$oForm = _IEFormGetObjByName($oIE, "upload_form")
$oInputFile = _IEFormElementGetObjByName($oForm, "import_file")
_IEAction($oInputFile, "focus")
$hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $path)
Et bien ce genre de méthode est ignorée par le navigateur (IE8)
Donc si quelqu'un connait une méthode qui fonctionne
Re: Problème de controlSend vers un Input type[..]
Posté : mar. 29 mars 2011 15:02
par ricky
Hello,
un petit conseil, change ton titre et adapte le selon les règles, sinon un modérateur va te remonter les bretelles.
Re: [..] Problème de controlSend vers un Input_file
Posté : mar. 29 mars 2011 15:48
par redlatino
Là il me semble suivre les règles
merci,
Re: [..] Problème de controlSend vers un Input_file
Posté : mar. 29 mars 2011 16:37
par sksbir
Bonjour
C'est difficile de t'aider sans avoir le code source de la page que tu essayes de piloter, ou du moins une capture d'écran..
$oInputFile = _IEFormElementGetObjByName($oForm, "import_file")
Là, je comprends : t'essaye d'attraper la "case" où tu renseignes le nom du fichier...
maintenant, si c'est un champ à saisir, il te faut une action du type
_IEFormElementSetValue(oInputFile,"c:\toto.txt") ( c'est un exemple hein..)
Et puis, normalement, ya un bouton "valider" quelque part sur ta page, après avoir choisi le fichier, donc il te faut une action du style:
$submit_Name = _IEGetObjByName($oIE, "submit") ( à supposer que le bouton possède le code "submit" hein...)
Et sur cet objet, tu feras un
_IEAction($submit_Name, "Click")
Re: [..] Problème de controlSend vers un Input_file
Posté : mar. 29 mars 2011 17:05
par redlatino
Merci de la réponse,
Au niveau du submit ça va pas de soucis c'est sur le input_file que je n'arrive pas à envoyer le chemin du document :
_IEFormElementSetValue(oInputFile,"c:\toto.txt") ne marche pas (aucune reaction).
Là je vais tester sur IE6 je viens de trouver un pc qui me permet de le faire car tout ce que je teste venant du net avec input="file" ne marche pas même les exemples _IE_Example.
Code : Tout sélectionner
...
$path="cheminDeMonFichier"
$oForm = _IEFormGetObjByName($oIE, "upload_form")
$oInputFile = _IEFormElementGetObjByName($oForm, "import_file")
_IEAction($oInputFile, "focus")
$hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $path)
$choisirCSV=_IEGetObjById($oIE,"radio_plugin_csv")
_IEFormElementCheckBoxSelect($oIE,$choisirCSV)
$modifierParvirgule=_IEGetObjById($oIE,"text_csv_terminated")
_IEFormElementSetValue($modifierParvirgule,",")
$submit=_IEGetObjById($oIE,"buttonGo")
_IEAction($submit,"Click")
[R] Problème de controlSend vers un Input_file
Posté : jeu. 31 mars 2011 09:47
par redlatino
Oui des heures perdues pour rien ça marche sur IE6 (config des specifications ça tombe bien). Je ne sais pas pourquoi ça ne marche pas sur IE8, apparemment on ne peut rien écrire dans les input type="file", une protection surement.
Merci de votre intérêt.