11548 sujets

JavaScript, DOM et API Web HTML5

Salut,

Après moultes recherches sur le sujet, j'ai trouver pas mal de solution concernant ce probleme.

J'ai donc une page A contenant un formulaire d'insertion. En dessous de celui ci, j'affiche une liste des enregistrement precedemment inserer. Dans cette liste on retrouve deux liens ouvrant une pop up. Un lien pour supprimer la ligne et un lien pour modifier la ligne.

Donc j'arrive à ouvrir la pop up, faire mon traitement (suppression ou modification) et au moment de fermer la pop up, j'ai quelques difficultés pour mettre a jour la page parent.

opener.document.location = opener.document.location;
window.opener.refresh();
window.close();


Ce code là marche, mais il me refresh un formulaire vide et n'affiche pas ma liste Smiley ohwell

Donc je me dis, pour afficher ma liste et garder les infos de mon form il faut que je "submit" le form, donc :

window.opener.document.nom_form.submit();
window.close();


Mais là, rien ne fonctionne Smiley confus

Sachant qu'un reload() ne fonctionne pas, car il me repasse les infos du formulaire d'insertion et insert donc deux fois...

Si quelqu'un a une solution...

Merci
Bonjour.

Utilise la syntaxe standard pour accéder aux formulaires.

Donc à la place de :
window.opener.document.nom_form.submit();
Remplace par :
opener.document.forms['nom_form'].submit();

de plus, la mention "window" est inutile. Pas fausse, mais superflue.
Salut,

Alors pour la syntaxe standard je l'ai utilisé aussi, mais rien n'y fait... Pour la
mention window, je ne savais pas, merci Smiley cligne

@solo : alors j'utilise une pop up pour un gain de temps, en effet je ne developpe pas un site Internet, mais une application Intranet. Donc dans un soucis de rapidité de mise à jour, la pop up reste l'élément le plus efficace. De plus, cette application est destiné à IE donc pas de soucis de compatibilité avec plusieurs navigateur.
jpwalker a écrit :
Salut,

Alors pour la syntaxe standard je l'ai utilisé aussi, mais rien n'y fait... Pour la
mention window, je ne savais pas, merci Smiley cligne

@solo : alors j'utilise une pop up pour un gain de temps, en effet je ne developpe pas un site Internet, mais une application Intranet. Donc dans un soucis de rapidité de mise à jour, la pop up reste l'élément le plus efficace. De plus, cette application est destiné à IE donc pas de soucis de compatibilité avec plusieurs navigateur.


Alors si c'est une application, autant utiliser XMLHttprequest, c'est à la mode Smiley lol
J'y ai pensé... J'y ai pensé... Quelqu'un aurait un lien vers de bon article sur le sujet ? (trouvés quelqu'un mais pas terrible)
Modifié par jpwalker (21 Sep 2005 - 08:09)
Oui en effet je viens de le lire Smiley cligne

Malheureusement, je ne pourrais m'orienter vers ce dernier (hors cahier des charges...) Smiley ohwell

Il ne me reste vraiment plus beaucoup de solutions (à mes yeux), dois-je utiliser une iFrame (j'aimerais eviter) ?

opener.document.location = opener.document.location;		opener.document.forms['nom_form'].submit();					window.close();


Donc ce code execute quelque chose sur la page "opener", mais on dirait qu'il réaffiche la page d'origine sans prendre en compte le tableau $_POST Smiley eek

De plus, le window.close() ne fonctionne pas et j'ai un message d'erreur du genre :

'opener.document.forms.nom_form' à la valeur Null ou n'est pas un objet


Qué qui veut dire ??

Voilà, je ne sais plus trop vers quelle solution me tourner, si quelqu'un voit une tout autre solution qu'il n'hésite pas, je suis preneur Smiley ravi

Merci
Alors alors...

Apparement ça serait mon sous formulaire qui posait problème, je n'ai garder qu'un seul formulaire et appliquer le code suivant :

opener.document.location = opener.document.location;
opener.document.forms['ajout_dem_ach'].submit();
window.close();


Je constate donc que plusieurs formulaires deviennent très dur à gérer, est-ce une erreur de ma part de faire plusieurs formulaire ?
Essaye ça à la place du refresh(), et tu verras que ça marchera mieux tout de suite

window.opener.location.reload();