Javascript window.open envoie de parametre [Résolu]

Signaler
Messages postés
42
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
22 janvier 2006
-
Messages postés
1
Date d'inscription
mercredi 5 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2007
-
Bonjour voila j'explique ce que je fais pour eviter les pb de compréhension.
Je dois realiser un mastermind en javascript. Sur ce coter la pas de pb, les reponses fonctionnent etc...
Je dois maintenant lors du clique sur le bouton valider ouvrir une popup qui affichera les reponses donner par l'internaut.
Il faut donc utiliser window.open. Mais je ne sais pas trop comment l'utiliser.
J'ai donc fait ceci dans mon bouton valider :
<form method="post">

</form>

tab2 cest un tableau que je voudrai envoyer mais vu que je n'est pas mis de balise <script> sa peut po marcher. Donc comment fait on pour lors d'un clique sur un bouton cela envoie la variable que je veut ?
Et apres comment la recupere t-on? j'ai vu var query = location.search;
mais je ne sais pas si je pars dans le bon sens ?
merci bcp pour votre aide

wazaaa breton

7 réponses

Messages postés
34
Date d'inscription
lundi 17 octobre 2005
Statut
Membre
Dernière intervention
15 octobre 2006
1
Les parametres passés aux requettes http ne peuvent être autres que des
String, tu ne peux donc pas passer directement ton tableau, par contre
tu peux faire une fonction qui vas parser ta chaine du type
val1,val2,val3 pour reconstruire un tableau :



function tokenizeTotab(string)

{

var tab = new Array();

alert(string);



while (string.indexOf(',') != -1)

{

tab.push(string.substring(0,string.indexOf(',')));

string = string.substring(string.indexOf(',') + 1, string.length);

}

tab.push(string);

return tab;

}



Vincent Demay

http://www.demay-fr.net
Messages postés
34
Date d'inscription
lundi 17 octobre 2005
Statut
Membre
Dernière intervention
15 octobre 2006
1
Salut,



A la base le javascript n'est pas fait pour passer des parametres entre
plusieurs pages, il faut plutot déporter ca du coté traitement serveur.
Cependant je t'es trouvé un petit hack permettant de faire ca



la page de ton formulaire :

<html>

<head>

<title>Test</title>

<script type="text/javascript">

<!--



var maVariable = "coucou";

function maFunction()

{

window.open('resultat.htm?var='+ maVariable, "fenetre1","width=310,height=400,left=0,top=0");



}



//-->

</script>



</head>



<form method="post">



</form>

</form>

</html>



la page ou tu veux recupérer ton parametre :

<html>

<head>

<title>Test</title>

<script type="text/javascript">

<!--



function displayResult()

{

var variable = location.search.substr("?var=".length);

document.getElementById("result").innerHTML = variable;

}



//-->

</script>



</head>



popup





</form>

</html>



location te renvoie l'url, search, seleument les
parametres, et le substr te permet de recupérer une partie de la chaine
en parametre. enfin le innerHTML va remplir le contenu de la div
result....



Vincent Demay
Messages postés
42
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
22 janvier 2006

ok merci bcp. J'arrive a recup les parametres que j'ai envoyée. Donc j'ai modifié un peu pour pouvoir envoyer les valeurs d'un tableau. Donc result a bien tte les valeurs. Mais J'ai deux questions. Variable sert donc a stocker ce que l'on prend apres le ?var. c'est bien cela ?
Comment pouvoir faire correspondre ce qu'il y a dans result dans une variable qui sera un tableau? car j'ai remarquer que result séparé par des virgules les différentes valeurs.
merci bcppppp
wazaaa breton
Messages postés
42
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
22 janvier 2006

Je te remercie enormement!!!
l'envoie de parametre fonctionne, il n'y a plus qu'a finir quelques reglages.
Merci enormement!!

wazaaa breton
Messages postés
42
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
22 janvier 2006

je pense qu'une fois fini je posterai sur le forum le mastermind.
C'est un gros DM que je dois faire pour mon prof

wazaaa breton
Messages postés
34
Date d'inscription
lundi 17 octobre 2005
Statut
Membre
Dernière intervention
15 octobre 2006
1
J'espere que mon aide te permettra de terminer ton MasterMind à temps....

@ plus

Vincent Demay
http://www.demay-fr.net
Messages postés
1
Date d'inscription
mercredi 5 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2007

Bonjour,
merci beaucoup pour ton ses infos qui m'ont permis d'ouvrir une nouvelle page en passant deux variables. Seulement, mon script marche avec Mozilla mais ne veut pas marcher avec IE : affichage de 'erreur sur lapage' et le lien n'ouvre pas la nouvelle fenetre...

Voici mon code :

le code php où j'appelle la fonction pop_details avec deux paramètres :

            <?php
                if($nb_inscri==0)
                    {
                    echo "Aucun participant n'est encore inscrit à ce congrès";
                    }
                else
                    {
                    echo' ';
                    for($i=0;$i<$nb_inscri;$i++)
                        {
                        echo'----
';
                        echo''.$tab_inscri[$i][titre].' '.$tab_inscri[$i][prenom].' '.$tab_inscri[$i][nom].'
';
                        echo', ';
                        echo'Afficher détails, ';
                        echo'';
                        }
                    echo'
';
                    }
            ?>

Mon code javascript :

<script language="JavaScript" type="text/JavaScript">

function pop_details(a,b)
{
    var idpart = a;
    var cong = b;
     window.open('2_gestion_cong/gestion_inscrits/details_inscri.php?var='+ idpart+','+cong, "Details du participant",'top=100, left=100, width=1000, height=1000, resizable=yes, toolbar=no, scrollbars=yes, status=yes');

}
</script>

Merci d'avance pour votre aide

Sylvain