Forum Clubic

Javascript : variables et url - mettre les variables dans l'url

Bonjour, sur une des pages de mon site web, je dispose d’un script en javascript qui est sous forme d’une fonction :
dans <head> il y a :
<script language=“JavaScript”>
<!–
function ma_fonction()
{
var1=Math.floor(Math.random() * 10)+5;
var2=Math.floor(Math.random() * 10)+5;
… du code …
}
//–>
</script>

et, dans ma page, j’ai à un moment un appel de ma fonction, et un lien hypertexte dans lequel j’aimerais qu’apparaissent les variables mais je ne sais pas comment faire, merci de votre aide
Joyeux Noel a tous

Tu peux tenter d’utiliser les variables GET :

truc.html?x=1&z=2

et ensuite de parser location.href sur ta nouvelle page pour obtenir la valeur des variables…

tout d’abord désolé pour me retard et ensuite, je suis d’accord avec vous, mais comment faire pour modifier le lien hypertexte en lui introduisant les variables que je veux faire passer via url ?

C’est à dire, quand mon scipt est terminé, j’ai var1 et var2 et j’aimerais que ces variables soient dans l’adresse url que contient le lien hypertexte : si var1=1 et var2=10, il faudrait que le lien soit vers : mapage.html?var1=1&var2=10

Merci d’avance

Tu peux faire genre
document.write(‘mapage.html?var1=’+var1+’&var2=’+var2);

ok mais je n’arrive pas à le mettre en place : en effet, ma page contient un script php et un javascript :
j’ai ainsi :
<a href="page.php?
<? if($var_php!=0) {
echo ‘var_php=’.$var_php.’&’;
// Après je veux faire en sorte qu’il y ait les 2 variables du script javascript mais je ne sais pas comment faire :
ainsi à la fin on devrait obtenir un lien qui serait par exemple :

page.php?var_php=2&var1=5&var2=3
merci d’avance de votre aide

Tu ne pourras pas.

Il faut bien comprendre que PHP génére des données de sortie qui peuvent être vues comme du HTML, ou autre chose. Javascript est essentiellement lié au xhtml.

C’est à dire que tu peux mettre du javascript que dans une page web, et ce dans des endroits prévus pour (<script>, événements).

Dans ton cas, il faut trouver une autre solution.

Au passage :

<? === mal. <?php === bien (portabilité)
echo ‘var_php’ . $var_php . ‘&’; === mal
echo ‘var_php’, $var_php, ‘&’; === bien (là tu affiche trois chaînes, tandis qu’avant tu concaténe trois chaînes, soit au plus deux allocations, avant d’afficher le tout.)

ok
et sinon, est-ce que le fait de faire une requete auprès du serveur en php afin de demander des nombres aléatoires et quelques nombres à calculer lui utilisera beaucoup de ressources (je pourrais convertir mon javascript en php) ?

Par contre, tu peut faire une url href=“javascript:maFonction()” où tu donne la main à une fonction javascript qui va s’occuper de calculer une url contenant tes arguments:
tu fait en javascript:
mafonction(){
window.location=“http:monurl/sdfsdf?toto=”+var1+"&tutu="var2;
}

classique quand on veut utiliser du javascript. :neutre:

moins classique, tu peut changer du contenu dynamiquement en Javascript en faisant un document.write("<a href…");
ou encore changer les propriétés des éléments HTML en les nommant avec un id=, puis en récupérant l’élément par son id en Javascript.

voilà en vrac, plein d’idées pour incorporer du javascript dans du HTML.:wink:

calculer une valeur aléatoire sur serveur, ça ne doit rien consommer, mais si tu fait un appel serveur juste pour ça, tu perd le temps de l’appel, ce qui ralenti la navigation.

ok merci, mais je ne prends pas un serveur juste pour ca :slight_smile:

Rebonjour a tous, pourriez vous m’aider avec ce qu’a dit deltree: je n’arrive pas malgré sa fonction à créer un lien du style :
<a href="… l’url calculée par la fonction …">Lien vers une page quelconque</a>
Merci d’avance