transmition de Formulaire POST vers popup

Mammouth du PHP | 959 Messages

27 avr. 2008, 21:59

xD
Ben je t'ai dit, dans l'onglet Response, jai EXACTEMENT le même code JS.... (de ajax_pop.js)

Mammouth du PHP | 19672 Messages

27 avr. 2008, 22:08

|*() Donc tu n'as toujours pas compris comment ça fonctionne...

À quoi peut bien te servir un code JavaScript que tu as déjà ? Ce n'est pas ce que tu dois récupérer pour autant que je sache : tu as besoin d'avoir ce que retourne MySQL : donc, l'identification est bonne ou non. Partant de là, tout ce qu'on devrait voir dans l'onglet Response, c'est seulement la partie qui doit être insérée dans le popup avec innerHTML.

Là, je ne peux pas rester en ligne plus longtemps pour ce soir, tu vas donc devoir continuer en solo : mets ce temps à profit pour essayer de décomposer le déroulement de l'opération complète depuis le début, quand l'internaute saisit ses identifiants jusqu'à l'affichage de la réponse dans le popup. Le mieux, ce serait même de te l'écrire sur une feuille. Pour chaque étape, il se passe quoi et où (coté serveur ou coté client). Essaye de décrire ça de la manière dont tu l'as compris, on verra ce qu'on peut faire avec ça pour te remettre sur la route parce que là, je sens que tu es embourbé et pas à moitié. Mais si tu raisonnes avec logique sans tout mélanger, tu devrais trouver la réponse tout seul. :-k

Bon courage.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

27 avr. 2008, 22:15

ok
voilà le sreen, j'espère que tu me prends plus pour un fou xD Mdr
Image

EDIT : Youhou !! j'ai trouvais se qu'il n'y aller pas...
<form action="" method="post" class="identification_fields">
N&deg; de commande : <input type="text" name="num_com" id="num_com" size="10" maxlength="10"></input><br />
Mot de passe :&nbsp;&nbsp;<input type="password" name="password" id="password" size="13" maxlength="10"></input><br />
<input type="submit" value="Voir votre commande" onclick="getResult(document.getElementById('num_com').value, document.getElementById('password').value );"></input>
</form>
il falais pas mettre SUBMIT dans le bouton mais BUTTON !! rholala.... faute bête xD

Je voulais mettre Résolu mais........ :?
quand la popup s'ouvre, son chargement ne fini jamais...
Je comprends pas pourquoi.... :s
Aller !! :D c'est presque Résolu !!! :D

Mammouth du PHP | 19672 Messages

28 avr. 2008, 05:28

Pour le bouton, tu pourvais effectivement attendre longtemps l'exécution si le formulaire était envoyé. En revanche, remplacer submit par button n'était pas une obligation. C'était une méthode, mais tu aurais aussi bien pu ajouter un return false dans le gestionnaire d'évènement après l'appel de la fonction js.

Pour le chargement du popup, ça vient du document.write, je sais plus trop pourquoi ça fait ça non plus, il y a longtemps que j'ai pas utilisé cette fonctionnalité
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

28 avr. 2008, 17:50

Ok' :)

Question : Serais t-il pas plus propre de mettre le début de la page html (doctype le <head> et <body> etc) dans la page PHP (test_couple.php) plutôt que dans le JS (variables contenuHtml), non ?

Merci à toi, je vais faire des petite recherche pour ce document.write...

Mammouth du PHP | 19672 Messages

28 avr. 2008, 18:57

Ce que tu pourrais faire pour simplifier, c'est une page HTML directement, nommée par exemple identifier_pop.html avec le code HTML : avec le window.open, tu mets l'url de cette page en premier paramètre au lieu de laisser ce dernier vide. Ensuite, tu vires le document.write et tu ne crées plus le code de la page puisqu'il existe. En revanche, tu conserves le reste et le innerHTML qui fera exactement la même chose.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

28 avr. 2008, 19:23

ah ! oui ! pas bête !

j'ai essayer de le faire mais.... xD
var options = 'height=700,width=650,toolbar=no,resizable=1,scrollbars=1';
var fenetre = window.open('./identifier_pop.html', 'D&eacute;tails de votre Commande', options); 
					
// -4- Mettre la valeur souhaite dans cette nouvelle fenetre
fenetre.document.getElementById('corps').innerHTML = requete.responseText; 
identifier_pop.html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>D&eacute;tails de votre Commande</title>
<style type="text/css">
body {background-color:#000000;color:#FFFFFF;}
h1 {text-align:center;}
</style>
</head>
<body>
<div id="corps">&nbsp;</div>
<div align="right"><a href="#" onclick="window.close()">[Fermer la Fen&ecirc;tre]</a></div>
 </body>
</html>
voilà... c'est le JS qui va pas bien... d'après Firebug...

Mammouth du PHP | 19672 Messages

28 avr. 2008, 20:06

Le second paramètre de ton window.open() est foireux : ce n'est pas un titre ou une description, c'est le nom de la fenêtre qui va te servir à pointer dessus avec innerHTML. Donc un mot simple sans espace ni caractères spéciaux. Reprends l'exemple de code que j'avais donnée générant lui-même le code et suis la directive donnée : ne change que le premier paramètre. Et regarde l,utilisation de ce mot qui devient par le fait même mot-clé dans ton code.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

28 avr. 2008, 21:07

pas tout saisie là :shock:
var options = 'height=700,width=650,toolbar=no,resizable=1,scrollbars=1';
var fenetre = window.open('./identifier_pop.html', 'fenetre', options); 
					
// -4- Mettre la valeur souhaite dans cette nouvelle fenetre
fenetre.document.getElementById('corps').innerHTML = requete.responseText; 
Merci à toi :)

Mammouth du PHP | 19672 Messages

28 avr. 2008, 22:30

Réfléchis trente seconde avant de te précipiter sur ton clavier pour répondre : Et ce qui serait bien, c'est que tu utilises un peu Internet, toutes les réponses s'y trouvent. Regarde un peu ceci. window.open comporte au moins deux paramètres. Le second que j'ai ici nommé fenetre est important, c'est un identifiant. Toi, tu as mis "D&eacute;tails de votre Commande"... donc... ben ça plante.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

29 avr. 2008, 00:31

Depuis l'heure ou t'as écrit, je cherche, j'essaye plein de combinaisons avec des top, des location, des href, des self, des blank, des window....etc..

Mais je ne parvient pas à trouver la bonne :oops:

Merci de ton aide

Mammouth du PHP | 19672 Messages

29 avr. 2008, 06:19

|*() Lis donc un peu la doc et essaye de la comprendre. Tu n'auras pas un code tout pondu de ma part, je t'en ai déjà filé pas mal. Fais aussi une pause de temps à autres, parce que tu en arrive à tout mélanger et à vouloir tout faire à la fois. Quand c'est comme ça, prends ça relaxe et récapitule les différentes étapes une par une.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

30 avr. 2008, 00:55

Bon, voilà, alors en fait, j'ai pas trouvé, mais j'ai trouver la réponse à la 1ere solution (avec le document.write) il falais juste fermer le document :p :
var contenuHtml = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n';
contenuHtml += '<html xmlns="http://www.w3.org/1999/xhtml">\n';
contenuHtml += '  <head>\n';
contenuHtml += '    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n';
contenuHtml += '    <title>D&eacute;tails de votre Commande</title>\n';
contenuHtml += '<style type="text/css">body {background-color:#000000;color:#FFFFFF;}\n';
contenuHtml += 'h1 {text-align:center;}</style>\n';
contenuHtml += '  </head>\n';
contenuHtml += '  <body>\n'; 
contenuHtml += '    <div id="corps">' + requete.responseText + '</div>\n';
contenuHtml += '    <div align="right"><a href="#" onclick="window.close()">[Fermer la Fen&ecirc;tre]</a></div>\n';
contenuHtml += '  </body>\n';
contenuHtml += '</html>\n';
					
var options = 'height=700,width=650,toolbar=no,resizable=1,scrollbars=1';
fenetre = window.open('', 'fenetre', options); 
					
// -4- Mettre la valeur souhaite dans cette nouvelle fenetre
fenetre.document.open();
fenetre.document.write(contenuHtml);
fenetre.document.close();
Je ne sais pas si la solution que j'étais sensé cherché est meilleure... mais en tout cas, j'ai toujours pas trouvé :?

J'attends ton avis avant de mettre Résolu (ou pas :P)

Merci à toi :D

Mammouth du PHP | 19672 Messages

30 avr. 2008, 05:27

As-tu fait ce que j'ai suggéré : décomposer le déroulement en étapes successives ? Il se passe quoi et où dans quel ordre ? Parce que si tu ne comprends pas ça au départ, ça ne servira strictement à rien d'avoir un bout de code qui fonctionne si tu ne sais pas à quel moment il doit servir. :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

30 avr. 2008, 10:59

Oui, j'ai relu pas mal de fois mon code, le problème, c'est que me parais logique dont la façon dont je l'ai écrit xD
fenetre.document.getElementById('corps').innerHTML = requete.responseText;
On pars de l'élément "fenetre", dans le document, on sélectionne le tag qui a pour ID "corps", dans le HTML, on met le résultat XHR....

Si il y a quelque chose qui cloche ça dois être à mon avis "fenetre" en ce début de code....

J'ai également chercher des scripts déjà "tout fait" pour avoir l'exemple... (c'est comme cela que j'éi réussi à savoir pour le document.write...)

Merci.