IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Formulaire posté dans une nouvelle page et JS


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Formulaire posté dans une nouvelle page et JS
    Bonjour,

    J'ai actuellement besoin de poster un formulaire HTML dans un popup pour traitement en PHP, avec certaines regles bien particulières.
    Tout d'abord la page doit avoir une dimension reduite fixables, ensuite elle doit dans certains cas pouvoir rafraichir la page qui l'a appelé.

    Les difficultés rencontrées sont que resizeto fait sur l'objet window ne fonctionne pas sous opera et ensuite window.opnener ne marche normalement pas s'il n'y a pas eu un open() de fait (pas verifié ce point la).
    Donc est il possible de faire ce que je veux de façon à peu prêt simple et en ayant une compatibilité IE7/Opera9

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    En fait le lien serait même http://javascript.developpez.com/faq/?page=formObjs si c'était pas un copier coller mais un endroit ou m'envoyer au bon paragraphe de la FAQ que j'ai bien lu avant de poster, ce qui ne semble pas le cas de cette reponse.

    En tout cas merci pour l'accueil ca fait toujours plaisir.

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Re "bonjour" a toi
    préfères tu un blabla de politesse t'accueillant et te souhaitant la bienvenue ou plutôt une réponse clair et concise sur un sujet traité mainte fois ? une recherche sur le forum t'aurais assurément donné la réponse a ta question ...
    les popups sont un sujet récurant d'ou une section consacré dans la faq ...

    Si j'ai bien compris ta question tu souhaitais une popup avec une taille bien définit ? ainsi que pouvoir communiquer ( raffraichir la page appelante ) donc je t'invites a chercher sur ce forum

    et toujours avec le sourire

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    ... Non ca n'a rien a voir.

    On va reprendre a 0.

    Ouvrir un pop avec une taille fixée ça se fait avec window.open(et les parametres qui vont bien)
    Effectivement sujet mainte fois traité.

    Traiter un formulaire dans une fenetre popup ca se fait sans javascript avec un target dans la balise form mais sans aucun controle de la taille et une invalidation de la proprieté window.opener qui parait il vaut nul dans le cas d'ouverture qui n'est pas faite par JS.

    Donc non et renon la fonction recherche ne donne rien, non la faq ne donne rien. S'enregistrer sur le forum, passer les validations, faire un poste polit et explicatif, clair et concis qui n'est pas lut, c'est long, bien plus que claquer une recherche google ou forum, ou encore eplucher la faq a coup de ctrl+f.

    Se faire repondre un simple lien par un modo, sans bonjour ni rien, qui a une signature digne de "je te prends pour un con" et qui n'a visiblement pas prit la peine de comprendre de quoi je parle, ca donne pas envie d'aller plus loin.

  6. #6
    Membre averti Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Points : 425
    Points
    425
    Par défaut
    Le mieux c'est que tu utilises une fenêtre interne à ta page (une div en position absolue). Tu pourras faire tout ce que tu veux avec et sous tous navigateurs.
    Inutile d'être agressif pour avoir des réponses.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ca sous entendrait que je puisse cibler mon div avec un formulaire et que ça ne pose pas de problèmes d'affichage/masquage ensuite.

    Et il me semble que cibler un div ca n'est pas possible, il faut passer par une page annexe qui va reécrire dans l'element en question à coup de innerHTML (façon AJAX). Je me trompe? En plus ca posera des problèmes avec le rafraichissement.

    Ensuite j'adore qu'on me dise maintenant que je suis agressif alors qu'il y a 2 postes foutages de gueule. Perso je ne poste pas par plaisir, j'ai un projet professionnel à rendre dans les plus brefs delais et des emmerdes a la pelle, je poste ici parce que j'ai deja suivit quelques uns de vos tuto et les ai trouvé assez sympathique (Sur le gestionnaire de fenetre windows et C++ par exemple) et par ce que je pensais la communauté developpez.net la plus a même de me repondre rapidement et clairement. a la place j'ai droit de me faire repondre comme de la merde, c'est tout juste si on me fout pas une lien www.google.fr sans rien d'autre alors que mon post a pas été lu visiblement.

    Excusez moi, mais ca donne pas spécialement envie d'être sympa, mais ca doit être un tors encore une fois.

  8. #8
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    je passerais , sur le sempiternel débat de la politesse ...

    j'ai lu et relu ton post :

    J'ai actuellement besoin de poster un formulaire HTML dans un popup pour traitement en PHP, avec certaines regles bien particulières.
    Tout d'abord la page doit avoir une dimension reduite fixables, ensuite elle doit dans certains cas pouvoir rafraichir la page qui l'a appelé
    -Post d'un formulaire dans une popup ? => ouverture d'une popup , puis sur le targert.

    coté script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <script type="text/javascript">
    function ouvrepopup()
    {
      window.open('', 'popup', 'toolbar=no');
      return true;
    }
    </script>
    coté formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action="popup.php" target="popup" method="post" onSubmit="return ouvrepopup();">
      <input type="text" name="test" value="petit test de variable communicante">
      <input type="submit" value="OK">
    </form>
    - certain règle particulière :pouvoir raffraichir la page qui l'a appelé ? tiens il me semblais que les popups communicante se trouve de TRES nombreuse foiss sur le forum ....

    window.opnener ne marche normalement pas s'il n'y a pas eu un open() de fait (pas verifié ce point la).
    peut-être aurais tu due ... c'est plutôt logique et niveau sécurité que de pouvoir communiquer uniquement avec des fenètres provenant de la même instance du navigateur

    et dernier point effectivement resizeto n'est pas supporté par opera ...

    ma signature me conviens parfaitement , la preuve en est elle t'a interpellé
    Sur ce , bon courage

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bon on va jouer a celui qui se renvoie la balle un bout de temps je crois.

    Alors ton truc ne fonctionne pas. Le formulaire n'ayant pas connaissance de la fenetre popup au moment de la soumission l'envoie dans une nouvelle page aprés que le popup ai été crée. On a donc 2 fenetres ouvrantes pour le coup et le rafraichissement de la fenetre ouvreuse ne fonctionne donc pas dans la foulée. Ce qui est logique.

    peut-être aurais tu due ... c'est plutôt logique et niveau sécurité que de pouvoir communiquer uniquement avec des fenètres provenant de la même instance du navigateur
    Bah oui si quelque chose est logique, pas besoin de le tester a moins qu'on m'assure du contraire, c'est logique aussi et ça fait gagner un peu de temps.

    Donc encore une fois c'est cool que tu reste bloqué sur ton idée que ça a été vu et revu sur ce forum, mais non, désolé, je suis trés loin d'être un debutant en prog, et si je pose une question c'est que j'ai un serieux problème, j'aime pas devoir attendre aprés les autres pour avancer, surtout quand je suis cours dans les delais.

    En fait la seule solution valable que j'ai trouvé pour le moment, c'est de remplacer mon submit par un simple boutton avec un "onclick=window.open('pagederecup.php', 'popup', 'toolbar=no')"

    Dans cette page de recup, aller chercher les valeurs du formulaire original avec window.opener.form.element.value, faire un document.print de ces valeurs dans la page pour reécrire le formulaire entièrement en JS et le resoumettre automatiquement avec JS. Seulement je trouve ça particulièrement moche, ca me force a faire 2 traitements par formulaire dans ce cas la et c'est vraiment pas beau, je refuse de croire qu'il y ai pas un moyen moins compliqué et plus efficace pour ça.

    Aprés y a la possibilité d'ouvrir la popup bien avant, mais la ca va causer des soucis de focus et le risque qu'elles soit tuée. Ou de tout balancer par la barre d'adresse mais la ca fera des problèmes de passage de caractères.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bien en m'inspirant un peu de ce que t'as dit et ma version j'ai réussit a faire marcher le zinzin.
    Donc j'ai remplacé mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=submit> par un <input type=button onclick=npopu();>
    Avec la fonction JS comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function npopu(){
    	window.open('', 'popup', 'toolbar=no,width=500,height=300');
    	document.formulaire.submit();
    }
    De cette façon la fenetre popup est bien crée avant la soumission du formulaire et le target fonctionne normalement.
    Reste que j'ai un petit soucis avec mon reload qui a pas l'air de vouloir marcher. (Faut dire que la j'ai plus le temps de chercher je dois y aller)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.opener.reload();
    a l'air de rien faire, je chercherai au debugage en rentrant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.4] Envoyer un formulaire dans une nouvelle page
    Par hamoji dans le forum Langage
    Réponses: 2
    Dernier message: 28/04/2014, 14h44
  2. Formulaire+Javascript : réponses dans une nouvelle page
    Par matperino dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/12/2006, 09h11
  3. Charger un POST dans une nouvelle fenetre
    Par cisse18 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/04/2006, 15h03
  4. Soumettre un formulaire dans une nouvelle page
    Par Poussy-Puce dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/03/2006, 16h42
  5. Ouvrir un lien dans une nouvelle page
    Par freud dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/11/2005, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo