Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/09/2006, 20h27   #1
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Par défaut Récupérer variables javascript pour mettre dans variables aps 3

Bonsoir,

Je suis un peu inquiêt

Avec l'aide d'un membre developpez.com, j'ai créé un site HTML qui se compose de javascritp.
En faisant une recherche dans la FAQ de developpez, je suis tombé là dessus :

Citation:
Peut-on utiliser une variabe Javascript en ASP

La réponse est tout simplement non !
En effet, javascript est exécuté sur le client, c'est à dire dans le navigateur, et ASP est exécuté sur le serveur. Pour utiliser le contenu d'une variable javascript dans du code ASP, il faut pour cela envoyer ce contenu au serveur, qui va le récupérer et le traiter via du code ASP. Vous avez donc deux solutions : par la méthode GET (lien, formulaire) ou bien la méthode POST.
Le problème est que mon site crée des variables javascript, j'aurais voulu récupérer les valeurs de ces variables javascript pour les affecter à des variables asp et ainsi enregister ces résultats dans ma base de données.

Ma question :

Il n'y a donc pas d'autres moyen que le get ou le post ??

Si tel est le cas, est-ce dure de mettre cela en oeuvre ?

Merci d'avance.

bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2006, 23h49   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Citation:
Il n'y a donc pas d'autres moyen que le get ou le post ??
Ben pas trop en fait. Je crois pas.
Citation:
Si tel est le cas, est-ce dure de mettre cela en oeuvre ?
Non, pour soummettre un formulaire en javascript avec la methode POST y'a une fonction submit. Il faut juste récupérer le nom ou l'id du formulaire. Pour le methode GET tu passes tout dans l'URL (window.location)

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 08h22   #3
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Salut Immobilis,

Merci pour ta réponse !

Est-ce que je pourrai récupérer les informations de mon formulaire javascript dans une base de données access ?

C'est possible ou non ?

Merci pour ton dévouement journalièrement renouvelé !

beegees
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 10h05   #4
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Bonjour,

Qu'est ce que tu appelles un "formulaire javascript" stp ?
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 10h20   #5
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Salut PC75,

Tu peux pas savoir comme je suis heureux de t'entendre !

Ce n'est pas un formulaire javascript, c'est juste des fonctions qui permettent à des listes déroulantes d'indiquer le nom d'un cours et son nombre de crédits quand celui-ci est choisi dans la liste déroulante.

Le problème est que ce nombre de crédit et le nom du cours se trouvent dans des variables javascript.

Je met en attachment la page.

Et pendant ce temps, j'essaie de la retravailler en ASP, je dois terminer ce travail pour vendredi en 15 au plus tard.

Merci pour tout !

bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 10h27   #6
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Re,

Je n'ai pas eu le courage de lire toute la page.
Mais si tu créés des champs de type hidden et que tu les alimentes avec le contenu de tes variables js, tu pourras alors appeler une page asp avec la méthode post et faire une mise à jour dans ta base non ?
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 10h34   #7
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Re,

C'est exactement ce que je pensais au début.

Ensuite j'ai lu un tas d'articles qui me disait que c'étais impossible de récupérer des données javascript en asp.

Citation:
si tu créés des champs de type hidden et que tu les alimentes avec le contenu de tes variables js
Les champs hidden, ces ont des champs javascript ou ASP ?

Si tu as le temps, pourrais-tu stp mettre un petit exemple ?

Merci d'avance.

bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 10h47   #8
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Re,

Un champ hidden est comme in champ de type text, mais il est caché.

J'essaie de t'expliquer ce à quoi je pense :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<script language="javascript">
function Maj()
{
document.form1.Champ1.value=MaVariableJS1;
document.form1.Champ2.value=MaVariableJS2;
document.form1.Champ3.value=MaVariableJS3;
document.form1.action="PageMaj.asp";
document.form1.submit();
}
</script>
 
<form name="form1" method="post" id="CI" action="">
<input type="hidden" name="Champ1">
<input type="hidden" name="Champ2">
<input type="hidden" name="Champ3">
......
 
<input type="button" onclick="Maj()">
.....
Et dans la page PageMaj.asp, tu pourras faire des request.QueryString pour récupérer tes valeurs et construire tes requêtes SQL de mise à jour.

Si je ne suis pas assez clair, tu dis.

A+
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 11h02   #9
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Re,

Voilà, j'ai créé un champs caché :

Code :
<input type="hidden" name="Champ1" id="Champ1" >
Voici la nouvelle fonction javascript maj() :

Code :
1
2
3
4
5
6
7
8
9
	function maj() {
				t = document.getElementById('CI1');	
				s = document.getElementById('select4');
				t.value = nom_matiere[s.options[s.selectedIndex].value];
				maj_checkbox();
				maj_checkboxCI1TP();				
				maj_checkboxCI1EX();
				document.form1.Champ1.value=t;
		}
Pour ce qui est de cela :

Code :
document.form1.action="PageMaj.asp";
J'aimerais plus tôt l'associer à un bouton d'impression, ça je pense que ça ne posera pas de problème.

Maintenant que j'ai affecter la valeur de la variable javascript au champ caché, je dois créer un page asp.

Je suis dans la bonne direction ?

Merci pour ton aide !

bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 11h13   #10
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Re,

C'est l'idée en effet.
Dans ta fonction, tu ajoutes ces lignes :

Code :
1
2
3
4
5
 
.....
document.form1.Champ1.value=t;
document.form1.action=="PageMaj.asp";
document.form1.submit();
Le submit va appeler la page MaPage.asp (que tu dois effectivement créer).
Et dans cette page, tu peux t'en sortir


MaPage.asp
Code :
1
2
3
4
5
6
7
8
9
10
 
<%
Valeur1 = request.Form("Champ1")
Valeur2 = request.Form("Champ2")
 
txtSql = txtSql & "insert into MaTable "
txtSql = txtSql & "(Chp1, Chp2) "
txtSql = txtSql & "values ('" & Valeur1 & "', "'" & Valeur2 & "')"
.....
Response.Redirect("CI.asp")
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 11h34   #11
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Re,

Merci pour ton code.

J'ai testé quelques lignes et voici quelques réactions :

Si je met :

Code :
1
2
document.form1.action=="maj_ci.asp";
document.form1.submit();
ici

Code :
1
2
3
4
5
6
7
8
9
function maj() {
				t = document.getElementById('CI1');	
				s = document.getElementById('select4');
				t.value = nom_matiere[s.options[s.selectedIndex].value];
				maj_checkbox();
				maj_checkboxCI1TP();				
				maj_checkboxCI1EX();
				document.form1.Champ1.value=t;
		}
ça donne alors ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
function maj() {
				t = document.getElementById('CI1');	
				s = document.getElementById('select4');
				t.value = nom_matiere[s.options[s.selectedIndex].value];
				maj_checkbox();
				maj_checkboxCI1TP();				
				maj_checkboxCI1EX();
				document.form1.Champ1.value=t;
                                                   document.form1.action=="maj_ci.asp";
                                                   document.form1.submit();
		}
Dès qu'on choisi un cours dans la liste déroulante, form1.action=="maj_ci.asp" se met en route sans qu'on puisse chosir si c'est un cours théorique, pratique ou exercice.

J'ai donc déplacé ceci :

Code :
1
2
document.form1.action=="maj_ci.asp";
document.form1.submit();
Je l'ai mis ici :

Code :
1
2
3
4
5
6
7
8
9
10
if(c.checked) {		// On test si la checkbox est coché
				c_val.value = credits[s.options[s.selectedIndex].value];	// Puis on met à jour le input text en récupèrant la valeur de la matière selectionné et en allant cherché le nombre de crédits ECTS dans le tableau credits
			totalECTSCI1TH = (c_val.value);
				document.form1.action=="maj_ci.asp";
				document.form1.submit();
 
			} else {
				c_val.value = " ";	// Si la checkbox est décoché on met une chaine vide pour les crédits ECTS.
			}				
					}
Donc dès qu'on coche Théorie, l'action se met en route.

Quand ma page asp sera complétée par le code, les données viendront dans la db.

Mais j'ai découvert un hic, c'est quand quand il clique sur la case à cocher, l'action se met en route, il fait (fera) tout ce que le code dit (dira) et redirige vers le site CI.html (je viens de le renommer en CI.html car ça ne sert à rien d'avoir une page asp pour démarrer, sauf peut être pour ne pas voir le code de la page) et là, les données ont dispaures malheureusement.

Je veux dire par données, les choix du visiteur, c'est à dire le nom du cours, et le nombre de crédit pour ce cours.

Qu'en penses-tu ?

Je continue.

Meric
bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 11h44   #12
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Je pense à quelque chose PC75,

On pourrait faire en sorte que la base de données se mette à jour quand le visiteur à appuyer sur le bouton imprimer (submit) (qui se trouve en bas de l'écran) ?

Cela permettrait au visiteur de choisir à son aise les cours + th , tp ou ex et ensuite en appuyant sur le bouton, on met la base à jour.

ça pose un problème si il y'a plusieurs cours ?

Au moin ça résoud le problème des infos qui disparaissent après le redirect...

Qu'en penses-tu ?

Merci
bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 12h18   #13
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Re,

Ca me parait être une bonne solution pour que les infos saisies ne disparaissent pas.

Par contre, quand tu écris :
Citation:
ça pose un problème si il y'a plusieurs cours ?
.

Il faudrait que tu précises
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h09   #14
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Re,

J'ai un petit blem et je cherche depuis quelques dizaines de minutes à le résoudre.

J'ai testé ton code sur le nom du cours et quand j'appuie sur le bouton submit, j'obtiens [object] à la place du nom du cours.

Je résûme ce que je fais :

Code :
1
2
3
4
5
6
7
8
9
function maj() {
				t = document.getElementById('CI1');	
				s = document.getElementById('select4');
				t.value = nom_matiere[s.options[s.selectedIndex].value];
				maj_checkbox();
				maj_checkboxCI1TP();				
				maj_checkboxCI1EX();
				document.form1.hfCI1.value=t;
		}
La champs caché s'appelle hfCI1

Code :
<input name="hfCI1" type="hidden" id="hfCI1">
et ma page asp nommé maj_ci contient ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<body>
<% 
dim hfCI1
dim hfCI1TH
'dim CI1TP
'dim CI1EX
hfCI1 = request.Form("hfCI1")
response.Write(hfCI1)
'hfCI1TH = request.form("hfCI1TH")
'response.Write(hfCI1TH)
'CI1TP = request.form("CI1TP")
'response.Write(CI1TP)
'CI1EX = request.form("CI1EX")
'response.Write(CI1EX)
 
'response.Redirect("http://164.15.112.38/pharma.ulb.ac.be/CI/FORMULAIRE/CI.html")
%>
Je demande au code asp de récupérer la valeur du hidden field nommé hfCI1 et ensuite de m'afficher sa valeur avec response.write.

Tu vois quelque chose qui est incorrecte ?

Merci d'avance.

bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h19   #15
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Re,

Que te renvoie les Response.Write ?

As-tu essayé
Code :
1
2
 
document.form1.hfCI1.value=t.value;
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h25   #16
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Re,

C'est étrange car j'avais essayé avec t.value et ça fonctionnait pas.

J'ai alors encore essayé (suite à ton conseil) mais j'ai d'abord fermé le site web et réouvert et là ça fonctionne.

Donc, merci !

Par contre je me rends compte qu'il faudra prévoir un end session.

Ce que je vais faire pour le moment c'est de créer autant de hidden fields que j'ai besoin et ensuite essayer un response.write pour chacun d'entres eux, ensuite j'attaquerai la base de données.

Je te tiens au courrant pour le reste.

Merci pour ton dévouement.

bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 15h02   #17
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Re,

Pas de problème.

A+
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 13h37   #18
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 240
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 240
Points : 1 048
Points : 1 048
Salut PC75,

Comme promis je te tiens au courrant de l'évolution du site.

Je ne rencontre presque plus de problème (pour l'instant).

La base de données se remplit bien (sauf qu'elle écrit tout sur la même ligne et efface donc l'enregistrement en cours).

pour ton aide.

bgs
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h05.


 
 
 
 
Partenaires

Hébergement Web