2010-01-25 5 views
1

Je travaille avec un script qui récupère correctement les données de ma page actuellement affichée. Maintenant, j'ai besoin de connaître la syntaxe qui me permet d'injecter (et soumettre) ces valeurs dans un formulaire trouvé sur une page différente.Bookmarklet extrait les données de la page en cours et les injecte dans une page distante.

Code

pour le bookmarklet:

javascript:var%20s=document.createElement('script');s.setAttribute('src',%20'http://jquery.com/src/jquery-latest.js');document.getElementsByTagName('body')[0].appendChild(s);void(s);var%20s=document.createElement('script');s.setAttribute('src',%20'http://juststeve.com/test.js');document.getElementsByTagName('body')[0].appendChild(s);void(s); 

peut fonctionner contre: http://juststeve.com/testData.htm a besoin d'injecter de la forme: http://juststeve.com/testform.htm

thankx

+0

Désolé ... les ajax qui avait été test.js aurait dû être commenté. Ayant été capable [EDIT - aurait dactylographié: '_unable'] pour travailler directement contre le serveur GoogleDocs je voudrais attirer l'attention sur injecter le formulaire à juststeve.com/testForm.htm et soumettre cela. – justSteve

+0

@justSteve ... votre commentaire pourrait être édité dans la question, et le rendrait beaucoup plus clair. – Mogsdad

Répondre

0

Puisque vous semblez être en utilisant jQuery pour effectuer la la collecte de données et la soumission, vous devez d'abord vérifier le jQuery documentation. Vous y trouverez comment utiliser $.ajax à submit data (en utilisant le paramètre data).

En bref, ce que vous devez faire est de remplacer

data: { formkey: "Fd0SHgwQ3YwSFd5UHZpM1QxMlNOdlE6MA", entry_0: "this" }, 

avec

data: { formkey: "Fd0SHgwQ3YwSFd5UHZpM1QxMlNOdlE6MA", entry_0: "this", "orderDate": orderDate, "email": email, "customerID": customerID }, 

ce qui signifie que la demande AJAX POST donnera le serveur 3 paramètres supplémentaires dans la demande avec les valeurs I » Je devine que vous voulez soumettre. La manière dont vous récupérerez ces valeurs du côté serveur dépendra de la langue/pile côté serveur que vous utilisez.

+0

Thankx ... la liste des arguments est un peu secondaire à ce stade. En travaillant directement avec le formulaire, vous remarquerez qu'il sera correctement envoyé sans aucun contenu de champ ... plus l'ajax du bookmarklet répond avec le gestionnaire 'succès' mais le formulaire n'est pas soumis. – justSteve

Questions connexes