[JavaScript] Remplir un champ de form à partir d'une autre fenêtre

Remplir un champ de form à partir d'une autre fenêtre [JavaScript] - HTML/CSS - Programmation

Marsh Posté le 10-07-2003 à 15:53:01    

J'ai une popup avec un formulaire qui s'ouvre à partir d'un autre formulaire.
Je sais comment réactualiser la page du formulaire d'origine :

Code :
  1. <script language=JavaScript>
  2. window.opener.location.reload();
  3. </script>


 
Ce que je voudrais faire c'est remplir un champ de ce formulaire d'origine à partir de la popup.
 
Comment puis-je faire ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 10-07-2003 à 15:53:01   

Reply

Marsh Posté le 10-07-2003 à 15:58:12    

ça doit être quelque chose comme ça:

Code :
  1. window.opener.document.getElementById['champs_de_la_mere'].value = document.getElementById['champs_de_la_fille'].value;
  2. ou
  3. window.opener.document.nomForm_de_la_mere.champs_de_la_mere.value= document.nomForm_de_la_fille.champs_de_la_mere.fille;

Reply

Marsh Posté le 10-07-2003 à 16:10:46    

je viens d'essayer les 2 versions :
elles ne fonctionnent pas, dsl


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 10-07-2003 à 16:14:45    

question peut etre con : t'as bien rajoute des id dans tes champs de formulaires  :??:

Reply

Marsh Posté le 10-07-2003 à 16:22:12    

walli a écrit :

question peut etre con : t'as bien rajoute des id dans tes champs de formulaires  :??:  


 
des "name=..." tu veux dire ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 10-07-2003 à 16:41:32    

sire de botcor a écrit :


 
des "name=..." tu veux dire ?


 
nan, si tu fais un getElementById('nomId');
il te faut des id="nomId"

Reply

Marsh Posté le 11-07-2003 à 10:25:34    

et cet "id" doit être un nombre ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 10:26:28    

sire de botcor a écrit :

et cet "id" doit être un nombre ?


 
non, c'est un string

Reply

Marsh Posté le 11-07-2003 à 11:00:08    

walli a écrit :


 
non, c'est un string


 
sur les 2 possibilités proposée par ana, sur laquelle est-ce que tu miserais ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 11:43:16    

ça fonctionne !!  
... en bidouillant ça passe !
 
maintenant comment faire pour, plutôt que remplir un champ, ajouter une option dans un select ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 11:43:16   

Reply

Marsh Posté le 11-07-2003 à 11:47:36    

Code :
  1. document.f.liste.options[NIndex]= new Option(nom affiché,valeur,true,true);


 
qqch de ce genre.

Reply

Marsh Posté le 11-07-2003 à 11:52:34    

je viens d'essayer, il me dit :
"Le serveur a généré une exception"
dans une popup


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 11:53:56    

c'est un message JS ou serveur?
vires peut-être le NIndex... t'as mis quoi comme valeur?

Reply

Marsh Posté le 11-07-2003 à 11:59:23    

en entête c'est seulement écrit "erreur"
 
g essayé le nindex avec 1, 5 et 10
(même erreur à chaque fois)
 
g essayé aussi avec 100 pour être sûr d'être au max de la liste:
il me crée alors des options vides jusqu'à l'index 100 mais n'ajoute pas celui que je souhaite...


Message édité par sire de Botcor le 11-07-2003 à 12:01:35

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 12:00:45    

sire de botcor a écrit :

en entête c'est seulement écrit "erreur"
 
g essayé le nindex avec 1, 5 et 10
(même erreur à chaque fois)


 
fais voir ton code !

Reply

Marsh Posté le 11-07-2003 à 12:04:33    

au départ :
 

Code :
  1. <script language=JavaScript>
  2. window.opener.document.form1.theme_1.options[100]= new Option('newTheme','newTheme',true,true);
  3. window.close('popup');
  4. </script>


 
à l'arrivée :
 

Code :
  1. <FORM action=creation_crr_2_dans_base.php method=post name=form1>
  2. ...
  3. <TR>
  4.     <TD><b><font color=white>&nbsp;Thème :&nbsp;</font></b></TD>
  5.     <TD><FONT color=white>&nbsp;<select name="theme_1">
  6.   <option value=""></option>
  7.   <option value="INFORMATIQUE">INFORMATIQUE</option>
  8.   <option value="COMMERCIAL">COMMERCIAL</option>
  9.   <option value="FINANCIER">FINANCIER</option>
  10. </select>&nbsp;&nbsp;&nbsp;
  11. <INPUT type=button name=addTheme value="Ajouter un nouveau thème" onClick="javascript:window.open('addTheme.php','Ajouter_theme_compte_rendu','width=500,height=200,alwaysRaised=yes')";>
  12.     </TD>
  13. </TR>
  14. ...


Message édité par sire de Botcor le 11-07-2003 à 12:17:58

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 12:08:15    

à la place de NIndex, mets: document.form1.theme_1.options.length
 
mets j'ai tjs pas compris en quoi consistait ton message d'erreur :??:

Reply

Marsh Posté le 11-07-2003 à 12:15:17    

alors du coup, il me supprime tous les éléments de la liste pour les remplacer par une dizaine d'éléments vides.  :??:


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 12:22:43    

enlèves les ' autour des newTheme déjà :o
 
edit: euh non   :pt1cable: oublies ça


Message édité par dropsy le 11-07-2003 à 12:23:24
Reply

Marsh Posté le 11-07-2003 à 12:29:59    

j'ai tenté avec cette ligne :
 
window.opener.document.form1.theme_1.options[window.opener.document.form1.theme_1.options.length]=new Option('newTheme','newTheme',true,true);
 
c'est pas mieux : l'erreur "le serveur a généré une erreur" est revenue !
 


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 13:18:51    

mais ce message, il apparaît comment? amha, faut jeter un coup d'oeil du côté du serveur

Reply

Marsh Posté le 11-07-2003 à 14:10:32    

dropsy a écrit :

mais ce message, il apparaît comment? amha, faut jeter un coup d'oeil du côté du serveur


 
une popup toute bête
chépa quoi faire...


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:11:38    

une pop up :??: mais elle est à toi cette popup? :heink:

Reply

Marsh Posté le 11-07-2003 à 14:14:04    

non pas du tout
à chaque fois que j'ai une erreur, il y a une popup qui s'ouvre, avec javascript !
 
euh... ce que j'appelle popup c'est juste une mini-fenêtre genre alert() de javascript


Message édité par sire de Botcor le 11-07-2003 à 14:14:46

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:26:27    

sire de botcor a écrit :

j'ai tenté avec cette ligne :
 
window.opener.document.form1.theme_1.options[window.opener.document.form1.theme_1.options.length]=new Option('newTheme','newTheme',true,true);
 
c'est pas mieux : l'erreur "le serveur a généré une erreur" est revenue !
 
 


 

Code :
  1. var indice = window.opener.document.form1.theme_1.options.length+1;
  2. window.opener.document.form1.theme_1.options[indice]=new Option('addTheme','newTheme',true,true);


 
 :??:


Message édité par walli le 11-07-2003 à 14:29:36

---------------
NP :
Reply

Marsh Posté le 11-07-2003 à 14:37:29    

même chose ! "le serveur a généré une exception"
 
je viens d'essayer avec mozilla : il ne génère aucune erreur mais n'ajoute pas l'option dans le select !...


Message édité par sire de Botcor le 11-07-2003 à 14:38:14

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:40:48    

sire de botcor a écrit :

même chose ! "le serveur a généré une exception"
 
je viens d'essayer avec mozilla : il ne génère aucune erreur mais n'ajoute pas l'option dans le select !...


 
petite question, le serveur tourne sur le même poste? :??:  
genre tu aurais apache qui plante (je vois pas pourquoi, mais bon [:proy] )

Reply

Marsh Posté le 11-07-2003 à 14:42:10    

dropsy a écrit :


 
petite question, le serveur tourne sur le même poste? :??:  
genre tu aurais apache qui plante (je vois pas pourquoi, mais bon [:proy] )


 
non le serveur c'est une machine distante en local
 
et puis vu que ya pas d'erreur avec mozilla, ça doit pas être apache qui plante  :(


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:43:08    

sire de botcor a écrit :


 
non le serveur c'est une machine distante en local
 
et puis vu que ya pas d'erreur avec mozilla, ça doit pas être apache qui plante  :(  


 
sauf si mozilla ne t'affiche pas les erreurs JS ;)

Reply

Marsh Posté le 11-07-2003 à 14:45:00    

dropsy a écrit :


 
sauf si mozilla ne t'affiche pas les erreurs JS ;)  


 
si si ya un débogeur intégré à mozilla !


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:46:04    

au fait, le "new Option()",
il est supporté depuis quelle version de javascript ?
(est-ce une version prise en compte par IE5 ?)


Message édité par sire de Botcor le 11-07-2003 à 14:46:21

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:49:29    

il semble l'avoir déjà utilisé avec IE5.0 et c'était bon

Reply

Marsh Posté le 11-07-2003 à 14:51:05    

ok !
 
ça me stresse, ce problème ! surtout que j'ai aucun moyen de le contourné si je ne peux pas rafraîchir uniquement le select...!  :sweat:


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:52:20    

moi j'utilise ce code dans mon appli, et ça marche :??: je comprends pas l'erreur que tu obtiens [:proy]

Reply

Marsh Posté le 11-07-2003 à 14:53:40    

ben chez moi ya un mélange de php avec, je sais pas toi


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 14:54:19    

sire de botcor a écrit :

ben chez moi ya un mélange de php avec, je sais pas toi  


 
bah oui, chez moi aussi, mais c'est séparé, le php est sur le serveur

Reply

Marsh Posté le 11-07-2003 à 14:54:24    

à quoi il servent les 2 true dans le new option ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 15:08:04    

youpla boum !! ça marche !!
j'explique :
 
au départ :

Code :
  1. <script language=JavaScript>
  2. window.opener.chOption('$newTheme');
  3. </script>


 
à l'arrivée :

Code :
  1. function chOption(valeur)
  2.     {
  3.         var indice = document.form1.theme_1.options.length;
  4.         document.form1.theme_1.options[indice]=new Option(valeur,valeur,true,true);
  5.     }


 
Donc en gros, la seule différence avec avant c'est que je passe par l'intermédiaire d'une fonction...
...et que ça fonctionne !  :D


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 15:22:14    

au fait, dropsy, si tu es tjs là,
j'ai un petit problème génant :
 
lorsque l'option a été ajouté dans le select, le select se positionne dessus automatiquement : dans mon cas, il ne le faut pas !
 
comment puis-je éviter cela ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 11-07-2003 à 15:32:09    

oui je suis là :whistle:  
bah tu peux en sélectionner un autre comme la première ligne ;) , mais à priori, si une ligne était déjà sélectionnée, il faut que tu mettes sa valeur dans une variable avant de faire l'ajout, puis ensuite tu resélectionne la ligne en question.
spa très propre [:proy]

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed