[AJAX] Transmissions de champs form entre popup et page apelante
Bonjour a tous !
J'ai un petit probléme que je n'arrive pas a résoudre seul, c'est pourquoi je vous demande a l'aide.
J'ai un formulaire d'édition de page web dans lequel l'internaute doit choisire une option dans une popup apellée par ce meme formulaire et cette option(valeur) doit être retourner dans un champ type TEXT du formulaire de ma page apellante, seulement je n'y arrive pas, j'ai essayer diverse méthode pour enfin y arriver mais en vain...
Pour vous donner une petite idée voici le code de ma page formulaire qui appel le Popup :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <HTML><HEAD><TITLE>Formulaire qui appelle mon popup</TITLE>
<SCRIPT type="text/JavaScript">
function OuvrirPopup(page,nom,option) {
window.open(page,nom,option);
}
</SCRIPT></HEAD>
<body>
<FORM name='modcoul'>
Votre choix <INPUT type="text" name="choix"><BR>
<INPUT type="button" value="Ouvrir le popup" onClick="OuvrirPopup('popchoix.html')"><BR>
</FORM>
<BR>
<BR>
<BR>
<BR>
<BR>
</FONT>
</BODY></HTML> |
et voici le code de ma popup :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| <HTML><HEAD><TITLE>Popup de choix</TITLE>
<SCRIPT language="javascript">
// fonction à placer dans la popup, biensur.
function popUpToOpener(popupFormName, popupFieldName, openerFormName, openerFieldName){
// on recupere le champ du formulaire de la popup
var popupField = document.popupFormName.popupFieldName;
// le champ de la fenetre opener
var openerField = window.opener.openerFormName.openerFieldName;
// et on fait passer la valeur du popupField, dans l'openerField
openerField.value = popupField.value;
}
bloc = true;
function hexa(couleur)
{
if(bloc)
document.form.hexval.value = couleur;
}
function palette() {
document.write("<TABLE border='0' cellpadding='0' cellspacing='0' ><TR>");
var h=new Array('00','33','66','99','CC','FF');
var col="";
for(var i=0;i<6;i++) {
for(var j=0;j<6;j++) {
for(var k=0;k<6;k++) {
col="#"+h[i]+h[j]+h[k];
document.write("<TD width='10' height='10' bgcolor='"+col+"' onMouseOver=\"hexa('"+col+"')\" onClick=\"if(bloc) { bloc = false; } else { bloc = true; }\"></TD>");
}
}
document.write("</tr>");
}
document.write("</TABLE>");
}
</SCRIPT>
</HEAD>
<body>
<div align="center">
<SCRIPT language="JavaScript">
palette();
</SCRIPT>
<form name="form">
Cliquez sur la couleur de votre choix pour désactiver/activer le défilement.<br />
<input type="text" name="hexval" size="9"><br>
<input type="submit" onclick="javascript:popUpToOpener('form', 'hexval', 'modcoul', 'choix')" value="Envoyer">
</form>
</div>
</BODY></HTML> |
En éspérant que vous puissez vous, trouver l'erreur que j'ai pus commettre.
Merci beaucoup .