J'essaie de créer un bookmarklet, qui capture l'URL de la page actuelle, où l'utilisateur est, met cette URL dans un champ de texte d'un formulaire sur une page, puis soumet le formulaire par pratiquement en appuyant sur le bouton soumettre.Soumettre le bouton avec entrer une URL
Avec le code ci-dessous je reçois l'url de la page en cours, rendez-vous sur le site avec url http://example.com/?url=http://www.url-of-the-current-page
, remplissez l'url http://www.url-of-the-current-page
dans le champ texte de la forme, mais la forme elle-même reste insoumis:
javascript:(function(){ window.open('http://example.com/?url='+encodeURIComponent(location.href))})();
Mais comment puis-je soumettre le bouton de formulaire? Toute la forme ressemble à:
<form ng-submit="launchTest()" class="ng-pristine ng-valid">
<input type="text" name="url" ng-model="url">
<input type="submit" value="Launch test" class="launchBtn" ng-class="{disabled: !url}">
</form>
J'ai essayé deux variantes - et a échoué: dans les deux variantes je reste sur http://example.com?url=http://www.url-of-the-current-page
:
javascript:(function(){ window.open('http://example.com/?url='+encodeURIComponent(location.href));document.forms[0].submit()})();
javascript:(function(){ window.open('http://example.com/?url='+encodeURIComponent(location.href));document.forms[this.form.id].submit()})();
Le formulaire est dans la fenêtre pop-up. sauf si la page est sur le même domaine que le JavaScript situé sur. , ça n'arrivera pas. – epascarello
Le formulaire utilise 'method =" GET "', puisqu'il s'agit de la valeur par défaut. Vous n'avez pas besoin de soumettre le formulaire, ouvrez simplement la même URL que le formulaire ouvrirait. Ce qui devrait être ce que votre premier morceau de code fait. – Barmar
@Barmar en utilisant le premier bit de code (en commençant le bookmarklet avec elle) je vais sur le site avec l'URL 'http://example.com/?url=http://www.url-of-the-current-page ', l'url' http: // www.url-de-la-current-page' est rempli dans le champ de texte du formulaire, mais le formulaire lui-même n'est pas soumis. –