Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
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 29/06/2011, 08h28   #1
Nouveau Membre du Club
 
Homme Patrick Algrain
Développeur Web Débutant
Inscription : mars 2011
Messages : 63
Détails du profil
Informations personnelles :
Nom : Homme Patrick Algrain
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web Débutant
Secteur : Boutique - Magasin

Informations forums :
Inscription : mars 2011
Messages : 63
Points : 25
Points : 25
Par défaut Lancement d'un script pour mettre à jour un tableau HTML

Bonjour à tous,
Votre aide serait bienvenue !
Dans un page ASP VBScript, j'ai un tableau HTML dont certaine cellule sont nommée:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td id="GES_A">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_A">&nbsp;</td>
  </tr>
 <tr>
    <td id="GES_B">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_B">&nbsp;</td>
  </tr>
  <tr>
    <td id="GES_C">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_C">&nbsp;</td>
  </tr>
  <tr>
    <td id="GES_D">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_D">&nbsp;</td>
  </tr>
</table>
J'aimerais via une fonction Javascript, récupérer certaines valeurs d'un Recordset et suivant ces valeurs mettre à jour le tableau.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function AdaptTableau (){
	var GesLet, GesVal, DpeLet, DpeVal, CelluleGes, CelluleDpe, CellGesRacine, CellDpeRacine;
	    CellGesRacine = "GES_";
		CellDpeRacine = "DPE_";
		GesLet = <%=(immodetail.Fields.Item("GES").Value)%>;
		GesVal = <%=(immodetail.Fields.Item("GESNb").Value)%>;
		DpeLet = <%=(immodetail.Fields.Item("DFE").Value)%>;
		DpeVal = <%=(immodetail.Fields.Item("DFENb").Value)%>;
		CelluleGes = CellGesRacine + GesLet;
		CelluleDpe = CellDpeRacine + DpeLet;
 
		document.getElementById(CelluleGes).innerHTML = GesVal;
 		document.getElementById(CelluleDpe).innerHTML = DpeVal;
 
 
	}
immodetail.Fields.Item("GES").Value contenant une lettre de A à C
immodetail.Fields.Item("GESNb").Value contenant la valeur à afficher

Ma question est comment et quand faire appel à cette fonction, pour qu'elle soit exécutée et modifie le contenu des cellules en question?

D'avance merci
Goltar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 09h54   #2
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
Citation:
Envoyé par Goltar Voir le message
Bonjour à tous,
Votre aide serait bienvenue !
Dans un page ASP VBScript, j'ai un tableau HTML dont certaine cellule sont nommée:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td id="GES_A">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_A">&nbsp;</td>
  </tr>
 <tr>
    <td id="GES_B">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_B">&nbsp;</td>
  </tr>
  <tr>
    <td id="GES_C">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_C">&nbsp;</td>
  </tr>
  <tr>
    <td id="GES_D">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="DPE_D">&nbsp;</td>
  </tr>
</table>
J'aimerais via une fonction Javascript, récupérer certaines valeurs d'un Recordset et suivant ces valeurs mettre à jour le tableau.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function AdaptTableau (){
	var GesLet, GesVal, DpeLet, DpeVal, CelluleGes, CelluleDpe, CellGesRacine, CellDpeRacine;
	    CellGesRacine = "GES_";
		CellDpeRacine = "DPE_";
		GesLet = <%=(immodetail.Fields.Item("GES").Value)%>;
		GesVal = <%=(immodetail.Fields.Item("GESNb").Value)%>;
		DpeLet = <%=(immodetail.Fields.Item("DFE").Value)%>;
		DpeVal = <%=(immodetail.Fields.Item("DFENb").Value)%>;
		CelluleGes = CellGesRacine + GesLet;
		CelluleDpe = CellDpeRacine + DpeLet;
 
		document.getElementById(CelluleGes).innerHTML = GesVal;
 		document.getElementById(CelluleDpe).innerHTML = DpeVal;
 
 
	}
immodetail.Fields.Item("GES").Value contenant une lettre de A à C
immodetail.Fields.Item("GESNb").Value contenant la valeur à afficher

Ma question est comment et quand faire appel à cette fonction, pour qu'elle soit exécutée et modifie le contenu des cellules en question?

D'avance merci
Je ne comprends pas là
tu génère ta fonction en vbs donc côté serveur
tu ne peux donc faire ça que lorsque tu génère la page
du coup ta fonction à des valeurs fixe
alors à quoi cela peut-il bien servir ?
mets directement tes valeur dans la table et ce sera fini.

si par contre tu compte mettre à jour la table après l'avoir afficher
ta fonction n'a pas à être généré par VB
c'est du Javascript pur dont tu as besoin.
ta fonction doit faire un appel xmlhttpRequest à une URL (qui contient du vbs) qui retournera les donnée et uniquement les données (soit en json soit en xml)
en réponse de cet appel ta fonction récupère les données et les place dans la table.

vu que tu est dans ASP and Co cherche sur MSDN XMLHttpRequest la doc est complète (c'est d'ailleurs MS qui à développé le concept qui c'est depuis généralisé)
A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 10h18   #3
Nouveau Membre du Club
 
Homme Patrick Algrain
Développeur Web Débutant
Inscription : mars 2011
Messages : 63
Détails du profil
Informations personnelles :
Nom : Homme Patrick Algrain
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web Débutant
Secteur : Boutique - Magasin

Informations forums :
Inscription : mars 2011
Messages : 63
Points : 25
Points : 25
Citation:
du coup ta fonction à des valeurs fixe
alors à quoi cela peut-il bien servir ?
mets directement tes valeur dans la table et ce sera fini.
Le problème est que, suivant la valeur retournée par mon recordset, la cellule à populer peut varier.

Mon projet est un site immobilier, le visiteur choisi un bien et désire afficher les détails de celui-ci. Par clic sur un bouton -> ouverture d'une nouvelle page avec passage de parametre de l'id du bien. Récupération des données du bien dans la db. Un des détails du bien (obligatoire pour l'immo) est le tableau des valeurs GES (Gaz à Effet de Serre) et de DPE (Déperdition d'énergie).
Dans ce tableau, il faut afficher un flèche de correspondance au niveau A,B,C,D... et indiquer la valeur.

Je donc créé un tableau et j'essaie vainement de populer la bonne case.

Peut-être plus clair en visualisant:
1) ICI choisir dans le menu Immobilier / Disponibilités
2) Cliquer sur la carte le département 06
3) Cliquer le bouton détail du bien choisi
4) Onglet DPE/GES
Goltar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 11h06   #4
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
c'est bien ce que je dis lorsque ton VBS génère la page tu as qu'une seule valeur
tu peux donc en vbs généré une table html sans en passer par du javascript

c'est tout du côté serveur
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td id="GES_A"><% if('A' == immodetail.Fields.Item("GES").Value) {
      print '=&gt;'
    } else {
      print '&nbsp;'
    }%></td>
    <td>&nbsp;</td>
    <td><% if('A' == immodetail.Fields.Item("GES").Value) {
      print immodetail.Fields.Item("GESNb").Value
    } else {
      print '&nbsp;'
    }%></td>
    <td id="DPE_A">&nbsp;</td>
  </tr>
   <tr>
    <td id="GES_B"><% if('B' == immodetail.Fields.Item("GES").Value) {
      print '=&gt;'
    } else {
      print '&nbsp;'
    }%></td>
    <td>&nbsp;</td>
    <td><% if('B' == immodetail.Fields.Item("GES").Value) {
      print immodetail.Fields.Item("GESNb").Value
    } else {
      print '&nbsp;'
    }%></td>
    <td id="DPE_B">&nbsp;</td>
  </tr>
...

etc.
pas besoin d'en passer par des fonction ou autre truc tu génère directement ta page

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 11h59   #5
Nouveau Membre du Club
 
Homme Patrick Algrain
Développeur Web Débutant
Inscription : mars 2011
Messages : 63
Détails du profil
Informations personnelles :
Nom : Homme Patrick Algrain
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web Débutant
Secteur : Boutique - Magasin

Informations forums :
Inscription : mars 2011
Messages : 63
Points : 25
Points : 25
Génial !!!
Merci sekaijin
Goltar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 13h39   #6
Nouveau Membre du Club
 
Homme Patrick Algrain
Développeur Web Débutant
Inscription : mars 2011
Messages : 63
Détails du profil
Informations personnelles :
Nom : Homme Patrick Algrain
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web Débutant
Secteur : Boutique - Magasin

Informations forums :
Inscription : mars 2011
Messages : 63
Points : 25
Points : 25
Encore merci !
Le code correct est:

Code :
1
2
 
<% if("D" = immodetail.Fields.Item("GES").Value) Then Response.write immodetail.Fields.Item("GESNb").Value else Response.write("&nbsp;")%>
Goltar 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 02h28.


 
 
 
 
Partenaires

Hébergement Web