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

Signaler
Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010
-
Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010
-
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 !

5 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
tout ce qu'il est possible de faire
depuis un autre site, c'est de l'afficher
toute manipulation est interdite
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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....
Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010

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.
Messages postés
19
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
27 janvier 2010

Je te remercie pour toutes ces réponses rapides !

A bientôt !