Variable Javascript vers ASP

danvy Messages postés 24 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 22 juin 2006 - 20 mai 2006 à 19:46
reghasnaa Messages postés 4 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 1 août 2007 - 1 août 2007 à 13:39
bonjour a tous,
je n'y connais pas grand chose en asp mais voila mon probleme, je veux juste faire un calcul mathematique coté serveur appelé par une fonction javascript :

EN JAVASCRIPT :
function recapitulatif() {
var heure=2;
var poste =3

<%quotidien(poste,heure);%>
}

EN ASP :
<%
function quotidien(poste,heure) {


 if (heure>poste)
 {response.Write("OK");}
%>
_____________________________________

Voila, merci de me repondre. Ce n'est qu'un exemple et je sais qu'il ne sert a rien mais j'aimerais pouvoir l'executer sur ma machine...
Merci a tous !

5 réponses

cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
20 mai 2006 à 21:18
Salut,

Tu ne peux pas faire comme ça pour une raison très simple :
Lors du chargement d'une page, c'est d'abord le code ASP qui s'exécute sur le serveur, puis le serveur envoie la réponse au navigateur, et ensuite la page se charge et le javascript peut enfin s'exécuter. Tu comprends donc que l'on ne peut pas passer de variable de javascript vers ASP car le javascript s'exécute après l'ASP.

Tu as 2 solutions :

- Réécrire ta fonction javascript en ASP, si c'est possible (il faut qu'elle ne fasse que des opérations avec des variables, pas de DOM, pas d'évènements du genre "onclick", etc...)

- Passer par une requête vers le serveur. Un exemple :

Dans page1.asp :
<script ...>
function recapitulatif() {
var heure= 2;
var poste =3;
document.location = 'page2.asp?heure=' + heure + '&poste=' + poste;
// comme ça tu passes tes variables à la page 2
</script>

Dans page2.asp :
<%
If Request.QueryString("heure") <> "" And Request.QueryString("poste") <> ""
' on vérifie qu'il y a bien les variables dans l'URL
Quotidien(Request.QueryString("poste"), Request.QueryString("heure")
' et on appelle la fonction
End If
%>

Evidemment, rien n'empêche que page1.asp et page2.asp soit en fait la même page (dans ce cas le bloc If... End If est vraiment obligatoire )

<hr size ="2" width="100%" />Nurgle (Antoine)
0
danvy Messages postés 24 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 22 juin 2006
21 mai 2006 à 00:19
re-bonjour,
tout d'abord merci de ta reponse, je ne suis plus dans le brouillard ! Je sais desormais qu'il faut que je passe mes variables via l'URL en gros.
Mais j'ai essayé ton
bout de code mais ça ne marche pas : request.Query("heure")<> ""


est ce que l'envoi est correct ? document.location = 'page2.asp?heure=' + heure + '&poste=' + poste;

et quand tu dis dans la page2.asp : et on appele la fct, comment fait-on pour l'appeller ? Quel est la commande ?
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
21 mai 2006 à 09:46
Ah excuse moi j'ai fait une petite erreur  :
<%
If Request.QueryString("heure") <> "" And Request.QueryString("poste") <> "" Then
' on vérifie qu'il y a bien les variables dans l'URL
Quotidien(Request.QueryString("poste"), Request.QueryString("heure"))
' et on appelle la fonction
End If
%>

Ta fonction Quotidien(poste,heure) est bien définie quelque part ? (je te conseille de la mettre seule dans un fichier .asp), et tu n'as qu'à inclure ce fichier au début de ta page comme ça : <!-- #include file= "lefichier.asp" -->
pour pouvoir utiliser ta fonction dans toute la page :
Quotidien(Request.QueryString("poste"), Request.QueryString("heure") )

<hr size ="2" width="100%" />Nurgle (Antoine)
0
danvy Messages postés 24 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 22 juin 2006
21 mai 2006 à 15:33
ok merci
mais j'ai encore un probleme :

dans page1.asp, j'ai :
document.location='page2.asp?hor=oui&heure=37';

dans page2.asp, j'ai juste ça :
<%
horaire = Request.QueryString("hor")
heure = Request.QueryString("heure")%>


<% IF horaire = « oui » THEN
Response.write("horaire:"&horaire)
end if
%>

et ça ma'affiche juste 0 !!! comprend pas !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
reghasnaa Messages postés 4 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 1 août 2007
1 août 2007 à 13:39
bonjour,

j'ai besoin de passer une variable javascript vers une requête select en utilisant asp. comment je peux faire ?

<script>
var choix=document.form1.categ.value;

  <% req=" where Id_categ="&cint(choix)%>
0
Rejoignez-nous