Valider un formulaire présent dans une page depuis un popup [Résolu]

Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010
- - Dernière réponse : Divinity78180
Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010
- 8 août 2009 à 14:24
Bonjour,

Après pas mal de recherche, j'ai trouvé au moins 5 façons différentes de valider un formulaire depuis une iframe ou encore un popup.

Mon choix s'est porté vers un popup pour des raisons de rapidité et simplicité pour l'utilisateur.

J'ai donc un simple bouton, dans mon popup, que voici :



Ensuite sur la page qui a ouvert le popup, j'ai un formulaire.

Lorsque je met dans la barre d'adresse de celle-ci un simple :
javascript: document.forms[1].submit();

Le formulaire se valide correctement.

Cependant, depuis le popup j'ai une erreur (issue de la console d'erreur de Mozilla) : Permission refusée d'obtenir la propriété Window.Document

Mon problème apparait donc ici : je ne comprend pas pourquoi j'ai cette erreur. J'ai fais cette même manipulation (à peu de chose près, je modifiais simplement un champs, mais même avec cette manipulation ça ne fonctionne pas) sur un autre site, et ça fonctionne très bien !

Je remercie d'avance ceux qui prendront du temps à la réponse à ce problème !

A bientôt !
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
3
Merci
tout ce qu'il est possible de faire
depuis un autre site, c'est de l'afficher
toute manipulation est interdite

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Bul3
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
0
Merci
Bonjour,

>>Mon choix s'est porté vers un popup pour des
>>raisons de rapidité et simplicité pour l'utilisateur.
euh... ouvrir une nouvelle page c'est plus rapide ???
et en quoi c'est plus simple qu'une autre manière
de faire ? laquelle d'ailleurs ?
et savez vous qu'aujourd'hui la plupart des
internautes refusent les pop-up ?
si je parle de mon cas, je les refuse toutes
donc votre application ne fonctionnerait pas

>>document.forms[1].submit();
euh.. ????
et le rapport avec la page mère ?
c'est l'envoi d'un formulaire dans la
page courante, pas dans la page mère
ensuite, donc, c'est Obligatoirement
le 2ème form qui est envoyé !
vous avez plusieurs <form> dans la page ?
sinon, pourquoi ne pas utiliser
document.getElementById("id du form").submit()
même si j'avoue répugner à utiliser
submit en javascript ! primo : et ceux qui
ne veulent pas utiliser javascript ? hein ?
quoi qui font ?

>>window.opener.document.forms[1].submit();"
donc, c'est obligatoirement
le 2ème form qui est envoyé !
là, à priori, celui de la page mère

>>Permission refusée d'obtenir
>>la propriété Window.Document
certes... mais rien de ce que vous nous montrez
ne permet de dire ce qui provoque cela

>>J'ai fais cette même manipulation
>>à peu de chose près,
ben oui.. à peu de choses près
mais suffisamment différent pour que
cela ne fonctionne pas

Cordialement
Commenter la réponse de Bul3
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
0
Merci
si on réduit au minimum :
page mère :
<form id="toto"
action="javascript:alert('envoyé');">
</form>
<script>
window.open("p1.htm");
</script>
p1.htm :
<script>
window.opener.document.getElementById("toto").submit();
</script>
et tout baigne....
Commenter la réponse de Bul3
Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010
0
Merci
Il apparait que je n'ai pas donné assez d'information.
En effet, j'ai oublié de dire que la page mère est un site externe à celui de la popup.

Exemple :
Sur la page : http://www.monsite.com/form.html je clique sur un bouton qui ouvrira une popup et qui redirigera la page courante vers http://www.pasmonsite.com/inscription.html. La popup sera donc sur "monsite.com" et la page mère sur "pasmonsite.com".

[i]>>Mon choix s'est porté vers un popup pour des
>>raisons de rapidité et simplicité pour l'utilisateur./i
Ce choix m'y est imposé, vu que l'iframe ne fonctionne pas, le site externe en question (à savoir MySpace) a un script supprimant les iframes mères.

>>document.forms[1].submit();
J'ai dit que je mettais ce code dans la barre d'adresse de la page mère. Pas celle de la popup. Lorsque je valide la formulaire submit correctement. Cependant avec window.opener.document.forms[1].submit(), ça ne fonctionne pas depuis la popup.
C'est bien le second formulaire que je submit. Je n'utilise le nom du formulaire pour l'envoi pour la simple et bonne raison que le formulaire n'a pas d'id ni même de name.

[i]>>Permission refusée d'obtenir
>>la propriété Window.Document/i
Je pense que j'ai donné les informations manquantes.


[i]>>J'ai fais cette même manipulation
>>à peu de chose près, /i
Le problème, c'est que le même script ne fonctionne pas dans ce contexte là.

Est-ce parce que la page mère n'est pas sur le même serveur ?


Merci d'avance.
Commenter la réponse de Divinity78180
Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010
0
Merci
Je te remercie pour toutes ces réponses rapides !

A bientôt !
Commenter la réponse de Divinity78180