recuperer une variable

Neoh56
Invité n'ayant pas de compte PHPfrance

02 juil. 2005, 10:14

Bj

voila mon prob j'ai une variable $nbrcoul1 et j'aimerais l'envoyer en javascript via un popup.

voila le code

Code : Tout sélectionner

function popup_color_picker() {var nbrcoul1; var width = 400; var height = 250; window.open('color_picker.php?nbrcoul1='+nbrcoul1+'', 'cp', 'resizable=no, location=no, width=' +width+', height='+height+', menubar=no, status=yes, scrollbars=no, menubar=no'); }
la fonction poup marche nickel j'arrive a envoyer nbrcoul1 quand je la definit avec var nbrcoul1=****; mais je sais pas comment faire pour dire que var nbrcoul1=$i;

merci de votre aide

Mammouth du PHP | 19672 Messages

02 juil. 2005, 10:17

À première vue, il faudrait que tu fasses générer l'appel JavaScript à ta fonction popup en PHP, fais voir ton appel de fonction JavaScript...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Neoh56
Invité n'ayant pas de compte PHPfrance

02 juil. 2005, 10:32

voila comment j'appel ma fonction:

Code : Tout sélectionner

<INPUT TYPE="hidden" NAME="couleur<? echo $i; ?>" > <INPUT TYPE="hidden" NAME="nbrcoul1" VALUE="<? echo $i; ?>"> <input name="Submit" type="image" onClick="popup_color_picker();" src="imagesite/couleur.gif" > <INPUT TYPE="button" NAME="exemple<? echo $i; ?>" onClick="popup_color_picker();" >
quand tu click sur l'image cela ouvre le popup et c la variable nbrcoul1 du form que je voudrais récupéré.

merci de ton aide

Mammouth du PHP | 19672 Messages

02 juil. 2005, 10:43

Ok, il y a moyen de simplifier: envoie la couleur en paramètre:
La fonction:
function popup_color_picker(couleur)
{
    var width = 400;
    var height = 250;
	window.open('color_picker.php?nbrcoul1='+couleur+'', 'cp', 'resizable=no, location=no, width='
                  +width+', height='+height+', menubar=no, status=yes, scrollbars=no, menubar=no');
}
Et dans ton formulaire:
<INPUT TYPE="hidden" NAME="couleur<? echo $i; ?>" >

<INPUT TYPE="hidden" NAME="nbrcoul1"  VALUE="<? echo $i; ?>">

<input name="Submit" type="image" onClick="popup_color_picker(this.nbrcoul1.value);"  src="imagesite/couleur.gif" >
 
<INPUT TYPE="button" NAME="exemple<? echo $i; ?>" onClick="popup_color_picker();" >
Si tu observes bien, j'ai modifié la fonction en ajoutant un paramètre, j'ai supprimé la première variable et je mets directement le paramètre de la fonction dans la ligne window.open;

Dns le formulaire, j'ajoute le paramètre dans l'appel de fonction en récupérant la valeur du champ couleur au dessus.

Sans garantie totale, mais ça devrait fonctionner.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Neoh56
Invité n'ayant pas de compte PHPfrance

02 juil. 2005, 10:57

Cela marche pas.

En fait c n'est pas la couleur que je veus recuperer c juste nbrcoul1 et qui a comme valeur $i;

merci de ton aide

Mammouth du PHP | 19672 Messages

02 juil. 2005, 10:58

<input name="Submit" type="image" onClick="popup_color_picker(<?php echo $i ?>);"  src="imagesite/couleur.gif" >
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Neoh56
Invité n'ayant pas de compte PHPfrance

02 juil. 2005, 11:14

Ca marche je te remercie

j'ai une derniere question.

voila j'ai ca :

Code : Tout sélectionner

window.opener.document.forms['opener_form'].elements['couleur'].value = new_color;
je voudrais avoir un truc de ce genre

Code : Tout sélectionner

window.opener.document.forms['opener_form*'].elements['couleur*'].value = new_color;
avec l'etoile qui est la variable nbrcoul1 en php tu opener_form.$nbrcoul1 mais en javascript je sais pas.

merci

Mammouth du PHP | 19672 Messages

02 juil. 2005, 12:59

Je crois que ceci devrait fonctionner:

Code : Tout sélectionner

var element = 'opener' + nbrcoul1 ; var coul = 'couleur' + nbrcoul1; window.opener.document.forms[element].elements[coul].value = new_color;
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: