AJAX:Probléme de transmissions de champs

mickado84 Messages postés 4 Statut Membre -  
 chipie220 -
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 :

<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"></input><BR>
<BR>
</FORM>
<INPUT type="button" value="Ouvrir le popup" onClick="OuvrirPopup('popchoix.html');">
<BR>
<BR>
<BR>
<BR>
<BR>
</FONT>
</BODY></HTML>


et voici le code de ma popup :

<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" action="popcom.html">
Cliquez sur la couleur de votre choix pour désactiver/activer le défilement.<br />
<input type="text" name="hexval"></input><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 .

3 réponses

Alain42
 
Pas de rapport avec AJAX

tu avait une erreur dans cette ligne

				document.write("<TD width='10' height='10' bgcolor='"+col+"' onMouseOver='hexa(\""+col+"\")' onClick=\"if(bloc) { bloc = false; } else { bloc = true; }\"></TD>");


ensuite je cherche.
0
Alain42
 
Voilà la suite, j'ai utilisé une autre fonction JS "getElementById()", il faut définir un id="...." pour les champs et c'est bon, ça marche sous IE et Fire Fox

<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" id="choix"></input><BR>
<BR>
</FORM>
<INPUT type="button" value="Ouvrir le popup" onClick="OuvrirPopup('popchoix.html');">
<BR>
<BR>
<BR>
<BR>
<BR>
</FONT>
</BODY></HTML> 

et le popup:

<code>
<HTML><HEAD><TITLE>Popup de choix</TITLE>

<SCRIPT language="javascript">
function popUpToOpener( popupFieldId,openerFieldId){

// on recupere le champ du formulaire de la popup
var popupField = document.getElementById(popupFieldId);

// le champ de la fenetre opener
var openerField = opener.document.getElementById(openerFieldId);

// et on fait passer la valeur du popupField, dans l'openerField
openerField.value = popupField.value;
self.close();}


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" action="popcom.html">
Cliquez sur la couleur de votre choix pour désactiver/activer le défilement.<br />
<input type="text" name="hexval" id="hexval"></input><br>
<input type="button" onclick="javascript:popUpToOpener('hexval','choix');" value="Envoyer">
</form>
</div>

</BODY></HTML>

</code>
0
chipie220
 
G un problem on me demande de colé mn code dan le champ ID de mon skyblog
mé C koi
merci de rep sur mn blog svp
ooo-tibou22-ooo.skyblog.com
0