remplir un formulaire en javascript

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
amal
Arias
Messages : 6
Inscription : 04 juin 2006, 12:01

remplir un formulaire en javascript

Message par amal »

Bonjour à tous

je suis debutante en javascript, je voulais savoir comment je peux remplir un formulaire deja existant sur un autre site web,et puis le valider à partir d'un code javascipt ?

Merci Bcp


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
epsy
Varan
Messages : 1024
Inscription : 21 déc. 2005, 19:58

Message par epsy »

salut,

pour faire un robot de spam? :x

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
҈ - config- http://fr.enlightenment.org - wikipedia mon amiiii! - JID: epsy arobase :) jaim.at
amal
Arias
Messages : 6
Inscription : 04 juin 2006, 12:01

Message par amal »

non pas du tout c'est un cas d'ecole faisant parti d'un projet de fin d'etude de niveau bac+5, :)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
epsy
Varan
Messages : 1024
Inscription : 21 déc. 2005, 19:58

Message par epsy »

est-ce que cet autre site web est dans un iframe? ou pas?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
҈ - config- http://fr.enlightenment.org - wikipedia mon amiiii! - JID: epsy arobase :) jaim.at
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Sur un autre site web, c'est effectivement un peu compliqué, car le javascript s'exécute sur la page par laquelle il a été chargée.

Deux solutions en effet, tu inclus la page souhaitée dans une iframe, ou tu fais un script utilisateur pour greasemonkey :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firedragon Firefox/1.5.0.4
amal
Arias
Messages : 6
Inscription : 04 juin 2006, 12:01

Message par amal »

Merci Bcp pour votre aide, c gentil,mais je pense avoir precisé que je suis debutante en javascript ,donc je ne sais pas comment inclure la page dans un iFrame ,ni ce que c est le greasmonkey.
:oops:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
epsy
Varan
Messages : 1024
Inscription : 21 déc. 2005, 19:58

Message par epsy »

un iframe c'est du html:

Code : Tout sélectionner

<iframe src="l'adresse de la page" />
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
҈ - config- http://fr.enlightenment.org - wikipedia mon amiiii! - JID: epsy arobase :) jaim.at
amal
Arias
Messages : 6
Inscription : 04 juin 2006, 12:01

Message par amal »

Merci Bcp Epsy
Alors si j'ai bien compris ,il faut inclure la page dans un iframe pour pouvoir remplir le formulaire, est ce que cela marchera si je change le le champ "value" de chaque zone de texte et comment je fais pour envoyer le fomulaire ?
Merci d'avance.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
epsy
Varan
Messages : 1024
Inscription : 21 déc. 2005, 19:58

Message par epsy »

en effet c'est ça

Code : Tout sélectionner

document.getElementById("monformulaire").submit()
;)

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
҈ - config- http://fr.enlightenment.org - wikipedia mon amiiii! - JID: epsy arobase :) jaim.at
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

Vous êtes sûrs que ça marche cette histoire d'iframe ?
Quand j'essaye, j'obtiens :
Error: uncaught exception: Permission denied to get property HTMLDocument.forms
Je trouve ça d'ailleurs bien heureux. Ça m'étonne qu'on puisse soumettre un formulaire depuis une autre page.
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

Le code qui déclenche l'exception est :

Code : Tout sélectionner

<body>

<script type="text/javascript">

/* on recoit en parametre l'objet HTMLIFrameElement qui correspond à la frame */
function Traitement(iframe) {

    // on recupere le document a l'interieur de la frame
    var iframeDocument = iframe.contentDocument;

    // on essaye d'accéder au contenu de ce document, mais on ne peut pas
    var iframeFormulaires = iframeDocument.forms;
}
</script>

<!-- lorseque la frame sera chargee la fonction de traitement sera declenchée -->
<iframe onload="Traitement(this)" src="http://unepagequicontientunformulaire.org"/>

</body>
amal, je n'ai pas compris ce que tu veux faire. Est-ce que tu veux mettre une page sur un site à partir de laquelle on peut soumettre un formulaire sur un autre site ?
Dans ce cas, je ne pense pas que ce soit possible (je me trompe peut-être) car ce serait la porte ouverte à toutes les fenetres, et ça pourrait poser des problèmes de sécurité.

Ou bien, est-ce que tu veux, depuis ton navigateur, remplir un formulaire de manière automatique ?
Dans ce cas, effectivement greasemonkey, ou un bookmarklet sont peut-être des solutions plus appropriées.
amal
Arias
Messages : 6
Inscription : 04 juin 2006, 12:01

Message par amal »

ce que je veux faire au juste c trouver un moyen de remplir un formulaire deja existant sur un site web,de maniere automatique ,c.a.d sans intervention manuelle de ma part, ca doit etre le resultat d'une execution d'un script javascript ou autre.
Merci bcp pour votre aide

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Cela dépend de ce qu'on appelle "site", je pense qu'on a les privilèges suffisants tant qu'on reste dans le même nom de domaine. Est-ce que ton script peut être placé sur le même domaine que le formulaire ?

Sinon effectivement il faut les privilèges chrome comme dans le cas des bookmarklets et scripts Greasemonkey.

Une dernière solution est bien sûr "autre" :)
Par exemple, un script PHP qui communique directement en HTTP avec le site en question.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
amal
Arias
Messages : 6
Inscription : 04 juin 2006, 12:01

Message par amal »

Salut Benoit,merci pour ton interet.
est ce que tu peux me donner un peu plus de detail sur ta derniere solution concernant le script php?
Merci bcp

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Bon d'abord cela dépend de si tu connais le formulaire et ses champs a priori ou si tu dois d'abord l'analyser (le second cas est nettement plus compliqué).

En supposant que tu sais ce que tu dois envoyer, il y a encore deux solutions : soit le formulaire n'est pas très compliqué (pas de fichier joint) et le site accepte qu'on passe les champs dans l'URL (méthode GET). Là il suffit d'appeler l'URL suivie de tous les champs :

Code : Tout sélectionner

$var = fopen("http://www.example.com/monformulaire?login=toto&passwd=toto", "r");
Si la méthode GET ne fonctionne pas, il faut utiliser la méthode POST. Pour ça tu dois ouvrir une connexion avec
fsockopen et puis écrire dedans les instructions HTTP. C'est moins drôle.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité