Rechercher : dans
Par :

Passer une variable javascript avec POST

Dernière réponse le 1 jun 2009 à 03:27:50 Pex, le 25 mai 2009 à 09:21:30 
 Signaler ce message aux modérateurs

Bonjour,
Je cherche à passer le résultat d'une fonction javascript avec les données d'un formulaire html (méthode POST) à la page suivante.

Je m'explique :

Page d'accueil :
- j'exécute un javascript pour connaître l'heure locale du visiteur de mon site
- je l'invite à choisir une langue de navigation grâce à un FORM html classique
- il clique sur un bouton pour passer à la page suivante.

Page suivante :
- je récupère la langue sélectionnée par le visiteur
- je voudrais récupérer aussi le résultat du javascript de la page d'accueil.

Je n'arrive pas à insérer le résultat de ma fonction javascript dans un champ hidden de mon formulaire en page d'accueil.

Merci de votre aide

Pex

Configuration: Mac OS X
Safari 528.16

Meilleures réponses pour « passer une variable javascript avec POST » dans :
Javascript - Concaténation de chaînes de caractères VoirLe terme "concaténer" signifie joindre deux chaînes bout à bout pour n'en former qu'une seule. Dans la plupart des langages tels que PHP, la concaténation se fait avec le caractère ".". En javascript, il suffit d'utiliser le caractère plus (+) ou...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Java: les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Java sont typées, c'est-à-dire que les données contenues dans...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...

1

Py_rex, le 25 mai 2009 à 09:44:58
  • +1

Bonjour,

Assumons que dans ton formulaire t'as ces champs

<form name="nom">
Prénom: <input name="prenom" type="text"><br>
Nom de Famille: <input name="nomfamille" type="text">
</form>
<form name="principal" onsubmit="return traitement(this)">
<input name="invisible" type="hidden">
<input type="submit">
</form>

Il suffit alors d'y ajouter le script suivant

<script type="text/javascript">
function singleName(form)
{
form.invisible.value = LA_VALEUR_QUE_TU_VEUX_FAIRE_PASSER;
return true;
}
</script>

et d'utiliser le POST normallement.

Bonne chance

Répondre à Py_rex

2

Pex, le 26 mai 2009 à 01:02:13

Merci beaucoup d'avoir pris le temps de me répondre, Py-Rex. Malheureusement, je n'ai pas tout capté.

Imagine que j'ai ma variable javascript (g), générée à l'ouverture de la page web :

<html>
...
</<script language="Javascript">
...
var g = y + "-" + mo + "-" + d + " " + h + ":" + m + ":" + s
</script>

<!-- j'ai un unique formulaire (je n'en veux qu'un seul dans ma page web) : -->

<FORM action="next_page.php" method="post">

<input type="text" name="nom" size=60 />

<!--HIDDEN FIELDS TO BE PASSED ON TO NEXT PAGE :-->
<input type="hidden" name="nom" value= <!--MA VAR JAVASCRIPT--> />

<valid_button>
<INPUT type="submit" value="start !" style="width:60px">
</valid_button>
</FORM>
</html>

J'ai du mal à comprendre comment j'applique ta méthode à mon contexte.

Merci encore

Pex

Répondre à Pex

3

Alain_42, le 26 mai 2009 à 09:44:18

Il faut mettre tous les attributs dans les balises html notament le name qui va te servir pour charger la valeur avant l'envoi

<html>
...
</<script language="Javascript">
...
var g = y + "-" + mo + "-" + d + " " + h + ":" + m + ":" + s;
//on charge la valeur dans le champ cache
document.form1.date_g.value = g;
</script>

<!-- j'ai un unique formulaire (je n'en veux qu'un seul dans ma page web) : -->

<form name="form1" action="next_page.php" method="post">

<input type="text" name="nom"   id="nom" value="" size=60 />

<!-- champ cache pour passage a la page suivante :-->
<input type="hidden" name="date_g"  id="date_g" value= "" />


<input type="submit" name="start" value="start !" style="width:60px">

</form>
</html>

Répondre à Alain_42

4

Alain_42, le 26 mai 2009 à 09:59:41
  • +1

Il en manque un petit bout a mon precedent post

<html>
...
</<script language="Javascript">
functiion ajoutJS(){
.....
var g = y + "-" + mo + "-" + d + " " + h + ":" + m + ":" + s;
//on charge la valeur dans le champ cache
document.form1.date_g.value = g;
}
</script>

<!-- j'ai un unique formulaire (je n'en veux qu'un seul dans ma page web) : -->

<form name="form1" action="next_page.php" method="post" onSubmit="ajoutJS();">

Répondre à Alain_42

5

 pex, le 1 jun 2009 à 03:27:50

Excellent : ça fonctionne !

Merci beaucoup à vous deux pour votre aide et veuillez excuser mon manque de réactivité.

Pex

Répondre à pex