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 .
Configuration: Windows XP
Firefox 2.0.0.11

3 réponses

  1. 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
  2. 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
  3. 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