danvy
Messages postés24Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention22 juin 2006
-
20 mai 2006 à 19:46
reghasnaa
Messages postés4Date d'inscriptionmardi 27 juin 2006StatutMembreDerniè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 !
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 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 )
danvy
Messages postés24Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention22 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 ?
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 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") )