Rechercher : dans
Par :

Utilisation de XmlHttpRequest

Dernière réponse le 20 mai 2005 à 17:15:17 jul, le 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

Meilleures réponses pour « utilisation de XmlHttpRequest » dans :
Utilisation de l'objet XMLHttpRequest Voir Utilisation de l'objet XMLHttpRequest I - Introduction 1.1 - Quelques mots 1.2 - Techniques pré-requises II - Présentation 2.1 - Principe 2.2 - Utilisation asynchrone 2.3 - Avantages 2.4 - Inconvénients III - Architecture IV - Mise...
Linux - Gestion des utilisateurs Voir 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...
Utiliser l'Administrateur caché de Vista VoirVista, 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...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
[Linux] Utiliser la commande 'su' VoirPré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...
La gestion des utilisateurs sous Windows NT VoirLa 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...
UML - Cas d'utilisation (Use cases) VoirCas 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...
Windows 7 - Gestion des utilisateurs VoirConfigurez votre PC Comme avec Windows Vista, vous pouvez avec Windows 7 bénéficier d’un environnement de travail bien à vous, tel que vous l’avez défini et personnalisé. Ce travail de configuration et de réglage passe par l’utilisation des comptes...

1

sam3000, le 19 mai 2005 à 16:43:50

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 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 19 mai 2005 à 16:48:35

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 19 mai 2005 à 16:54:22

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 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 20 mai 2005 à 09:46:09

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 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 20 mai 2005 à 10:12:22

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 20 mai 2005 à 10:26:55

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 20 mai 2005 à 10:29:21

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 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 20 mai 2005 à 11:02:58

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 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 20 mai 2005 à 15:48:53

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 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 20 mai 2005 à 16:07:07

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 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 20 mai 2005 à 17:15:17

<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
Collection CommentÇaMarche.net