Flux rss
Rechercher : dans
Par :

Utilisation de XmlHttpRequest

jul, le jeudi 19 mai 2005 à 16:34:35 
 Signaler ce message aux modérateurs

Bonjour,

j'aurai besoin d'aide.

Je m'explique: j'ai un formulaire qui grace a un lien ouvre une popup.

A la fermeture de celle ci le formulaire doit se reactualiser pour prendre en compte le changmeent. Seulelment je veux conserver les données déja taper dans le formulaire.


J'ai entendu parler de la fonction XmlHttpRequest mais vu kje débute j'ai pas tout compris.

Est ce que cette méthode répondrait a mon probleme??? peut on l'utiliser sous konqueror??

Et pouvais vous m'expliquer comment s'en servir...

Ou une autre méthode pour répondre a mon probleme

(tout est codé en php et jpe integrer du javascript)

merci d'avance

1

sam3000, le jeudi 19 mai 2005 à 16:43:50
  • +1

Grace à sebsauvage, je pourrais "commencer" à te repondre!
regarde les exemples du site suivant:

http://www.toutjavascript.com/savoir/xmlhttprequest.php3

puis si queque chose est interessant, on continura la discussion.
L'erreur est humaine mais un véritable désastre
ne peut être qu'informatique.

Répondre à sam3000

2

jul, le jeudi 19 mai 2005 à 16:45:25

Je l'ai déja regarder ce truc et fraznchement jcapte pas grand chose.

Mais tu penses que c'est la meilleure solution a mon probleme ou ya un truc plus simple a faire??

Répondre à jul

3

sam3000, le jeudi 19 mai 2005 à 16:48:35
  • +1

Peut etre que ça pourrais t'aider, mais il faut que tu sache, que le PHP (ou autre langage coté serveur) est toujours essentiel pour cette solution
le pb (bon j'ai pas encore tout capter moi même) est que tu utilise deux fenetre (une principale, l'autre popup) alors que dans tous les exemples XmlHttpRequest le resultat revient à la meme page
mais je vais voir si c'est interessant pour toi L'erreur est humaine mais un véritable désastre
ne peut être qu'informatique.

Répondre à sam3000

4

kij_82, le jeudi 19 mai 2005 à 16:54:22
  • +1

Uitliser les HttpRequest n'est aps obligatoire pour ce que tu as à faire. Moi perso je les utilise uniquement (pour le moment) pour effectuer des controle, des modifications, et des réactualisation de ma page (objet JS sur ma page). Mais c'est pas sur que ca aille pour toi. ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

5

jul, le vendredi 20 mai 2005 à 09:39:29

Et a votre avis quelle solution je dois employé pour rafraichir mon formulaire san sperdre les infos inclusent dedans??

Répondre à jul

6

sebsauvage, le vendredi 20 mai 2005 à 09:46:09
  • +1

Est ce que cette méthode répondrait a mon probleme???

C'est pas nécessaire.
ça peut très bien se faire sans.


Pour le faire sans:
Il suffit de récupérer les infos reçues lorsque l'utilisateur presse sur "Submit", puis de pre-remplir le formulaire avec les valeurs entrées par l'utilisateur.

Certaines autres techno (comme ASP.Net) se chargent de re-remplir automatiquement les champs, mais en php il faudra le programmer.

Répondre à sebsauvage

7

jul, le vendredi 20 mai 2005 à 09:54:14

Mais dans mon cas l'utilisateur ne presse pas sur submit.

Il remplit une partie du formulaire quand il lui manque une info il clique sur un lien qui lui permet de la rentrer.Puis il ferme le lien et quand il retourne sur le formulaire celui ci se rafraichi pour integrer la nouvelle valeur en gardant ce qui était déja taper.

Il n'y a donc pas de submit (juste dans ma popup).

Répondre à jul

8

kij_82, le vendredi 20 mai 2005 à 10:12:22
  • +1

Une solution possible mais longue à mettre en place et qui demande du php / javascript :
quand tu es dans ta popup : tu peux acceder à ta fenetre parent (celle du forlmulaire), et donc tu fais une fonction Js qui permet de faire une redirection dans la fenetre parent de l'url de celle-ci mais avec des paramètres en plus passé en GET ou POST comme tu le souhaite.

Pour cela, quand tu ouvre ta popup, tu lui passe l'adresse de ton script qui s'ouvre dans la popup avec les paramètres remplis dans le formulaire. Dans le script de la popup tu récupère les arguments recut en paramètre (GET ou POST). Tu les inclus en 'hidden' dans ton form de la popup de manière à ce qu'il soit passé losque l'utilisateur clique sur le submit de la popup. Le submit de la popup va faire appel à une fonction JS qui s'occupe de faire une redirection dans la fenetre parente et de fermer la popup.

Voilà, c'est une solution réalisable mais longue... je sais qu'on peut effectuer une redirection dans la fenetre parent de la popup depuis cette dernière mais la syntaxe ? je ne sais pas la syntaxe, il faudra donc te renseignerla dessus.

++ ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

9

sebsauvage, le vendredi 20 mai 2005 à 10:26:55
  • +1

Une popup s'affiche, puis en fermant cette popup ça rempli un champ de la page principale, c'est ça ?

Il n'y a pas besoin de XmlHttpRequest pour ça.

ça peut se faire en javascript, dans la popup (la popup peut accéder et modifier le menu de la page parente).

Répondre à sebsauvage

10

kij_82, le vendredi 20 mai 2005 à 10:29:21
  • +1

Oui, c'est ce que je lui disais, mais perso je ne sais pas vraiment quelle sont les syntaxes pour acceder à la fenetre parent et faire une modif ou redirection dans celle-ci, tu peux peut etre nous aiguiller la dessus ? ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

11

jul, le vendredi 20 mai 2005 à 10:42:17

Oui mais en fait je pense que c plus fastidieu de faire ca car ma page qui s'ouvre peut justement s'ouvrir de plusieurs formulaire il me fo donc un code généraliste.

Et j utilise la popup surtout pour completer des listes deroulantes ou des cases a cocher....

Donc voila je sais pas si ca vous avance plus

Répondre à jul

12

kij_82, le vendredi 20 mai 2005 à 11:02:58
  • +1

Justement non, tu peux tres bien passer à ta popup en paramètre quand tu l'ouvre, l'url de la page appellante (comme ca tu sais sur quelle page faire la redirection), par contre en ce qui conerne les paramètre, c'est vrai que c'est un plus chaud la, mais tu peux tres bien les passer dans l'url directement quand tu passe en paramètre à ta popup, c'est à dire que ton url ressemblerait à ca :

$url = "mapageàrapeller.php?val=".$val."&text=".$text

Et c'est cette url que tu passe en param à ta popup

Dans la popup, tu la modifie en ajoutant la valeur qu'est sencé selectionner l'utilisateur dans ta popup :
$url = $_POST['url'];
$url .="&data=".$data; // Ou d'une autre facon (JS par exemple)


Puis tu fais le changement dans la fenetre appellante de la popup avec une redirection sur l'url que tu obtient, et tu ferme la popup.
C'est pas plus fastidieux que ca finalement. Reste à garder les mêmes dénomminations de tes paramètres dans toutes tes pages si le script de la popup est appellé depuis plusieurs formulaire

++
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

13

jul, le vendredi 20 mai 2005 à 14:42:37

Quelqu'un ne pourrai pas plutot me donner un code sur un exemple simple:

un <input type=text name=nom value=$val>.$val.

de conservation de la valeur écrite dans la zone de texte après rechargement.

Parcke avec le surl et tout le tralalla je m'en sort pas...

Répondre à jul

14

sebsauvage, le vendredi 20 mai 2005 à 15:48:53
  • +1

Si c'est une popup qui renseigne un des champs de la page principale, il n'y pas besoin de recharger la page.

Si tu as un champ dans ton formulaire principal comme:

<input type="text" name="toto" /> 


Il suffit d'ouvrir ta popup:
window.open('mapopup.php', etc.)


puis dans le close (ou le submit) de ta popup faire:
opener.document.getElementById('toto').value = 'blablabla'


La valeur 'blablabla' sera écrite dans le champ toto de ton formulaire principal.

Répondre à sebsauvage

15

jul, le vendredi 20 mai 2005 à 16:03:12

Ca marche aussi pour les liste deroulante et les checkbox???

Et ca marche dans mon cas ou le formulaire 1 n'est pas fermer a l'ouverture de la popup

Répondre à jul

16

sebsauvage, le vendredi 20 mai 2005 à 16:07:07
  • +1

ca marche aussi pour les liste deroulante et les checkbox???

ça devrait !

En principe tous les éléments de la page HTML sont accessible en Javascript par le DOM.
On peut donc manipuler toute la page (et même modifier son contenu !).


Et ca marche dans mon cas ou le formulaire 1 n'est pas fermer a l'ouverture de la popup

ça marche chez moi, en tous cas !

Répondre à sebsauvage

17

jul, le vendredi 20 mai 2005 à 16:40:07

J'ai un truc de fo kan j'écri ca parcke rien ne s'affiche...

<script language=javascript>
function ajout(){
opener.document.getElementById('type').value="truc2";
alert('ahahahaha');
}
</script>
</head>
<body onUnLoad=ajout()>


fo préciser que mes pages sont en .cgi mais je pense pas que ca change grand chose.
et dernière question si par exemple j'ai dans mon champs liste déroulante value='$var[0]'

je fais comment pour l'atteindre en javascript??

Répondre à jul

18

 sebsauvage, le vendredi 20 mai 2005 à 17:15:17
  • +1

<body onUnLoad=ajout()>


Il faut faire:
<body onUnLoad="javascript:ajout()">

si je ne me trompe pas.

Mais je ne sais pas si le onUnLoad marche sur le body.
J'aurais plutôt mis à l'appel à ajout sur un bouton.

Répondre à sebsauvage
XmlHttpRequest - AJAX - PHP Bonjour à tous, j'utilise depuis longtemps un script qui permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest pour rafraichir dynamiquement l'interieur d'un sans recharger la page. (on peut trouver ce script entre autre... www.commentcamarche.net/forum/affich-2414074-xmlhttprequest-ajax-php
Linux - Gestion des utilisateurs Premier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les... www.commentcamarche.net/contents/linux/linusr.php3
La gestion des utilisateurs sous Windows NT La notion d'utilisateur WindowsNT est un système d'exploitation permettant de gérer des sessions, c'est-à-dire qu'au démarrage du système il est nécessaire de se connecter au système (le terme se logger provenant de l'anglais est... www.commentcamarche.net/contents/winnt/ntusers.php3
[MSN] Utiliser MSN sans l'installer - à partir d'un siteIl est possible d'utiliser un client MSN pour discuter avec ses amis sans avoir à l'installer. Il existe quelques clients conçus pour être utilisés à partir d'un navigateur sous forme de pages Internet. Évidemment, leurs fonctionnalités sont... www.commentcamarche.net/faq/sujet-2219-msn-utiliser-msn-sans-l-installer-a-partir-d-un-site
Utiliser l'Administrateur caché de VistaVista, comme XP, possède un compte nommé "Administrateur" mais il est caché et non activé par défaut. Pour que ce compte apparaisse dans la liste des utilisateurs à l'écran d'accueil, la méthode est différente selon que l'on utilise une version... www.commentcamarche.net/faq/sujet-5963-utiliser-l-administrateur-cache-de-vista
[Linux] Utiliser la commande 'su'Préambule Se connecter sous un autre ID utilisateur avec "su" Démarrer un nouveau shell de connexion avec "su -" Revenir au shell précédent Suspendre le shell du compte root Notes Préambule La commande "su" (Switch User, appelée plus... www.commentcamarche.net/faq/sujet-156-linux-utiliser-la-commande-su
Comment utiliser U torrent SVP ? (Résolu)Bonjour, J ai télécharcher U torrent, mais je ne sais pas l utiliser, comment faire, aidez-moi SVP ? www.commentcamarche.net/forum/affich-4146312-comment-utiliser-u-torrent-svp
Utilisation de daemon tools (Résolu)bonjour tout le monde, suis nouvelle et je m'y connais pas trop en informatique. je voudrais savoir comment utiliser l'emulateur de daemon tools s'il vous plait! je vous remercie d'avance! www.commentcamarche.net/forum/affich-2905920-utilisation-de-daemon-tools
Comment utiliser photoshop (Résolu)Bonjour. Je cherche un site ou je pourai apprendre a utiliser photoshop. Est ce que qqun pourait m en donner un stp. Merci d avance Marc www.commentcamarche.net/forum/affich-753562-comment-utiliser-photoshop
Linux - Gestion des utilisateursPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les... www.commentcamarche.net/contents/unix/unix-users.php3
UML - Cas d'utilisation (Use cases)Cas d'utilisation Un cas d'utilisation (en anglais use case) permet de mettre en évidence les relations fonctionnelles entre les acteurs et le système étudié. Le format de représentation d'un cas d'utilisation est complètement libre mais UML... www.commentcamarche.net/contents/uml/uml-use-cases.php3
Construction et utilisation du serveur LDAP (OpenLDAP)Construction de la base de l'annuaire LDAP Pour commencer à saisir des informations dans notre annuaire, il s'agit de créer deux fichiers texte au format LDIF. Avant de saisir les informations concernants les utilisateurs, il faut dans un premier... www.commentcamarche.net/contents/ldap/ldapcons.php3