IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

R�cup�ration d'une variable pour une ligne de code


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par d�faut R�cup�ration d'une variable pour une ligne de code
    Je souhaites pouvoir filtrer un document XML, en fonction des jours de la semaine.

    voici mon script qui permet de filtrer, les donn�es XML, qui s'affichent sur ma page :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var jours = new Spry.Data.XMLDataSet("ordre_du_jour.xml", "societe/odj", {sortOnLoad: "Jour", sortOrderOnLoad: "ascending"});
    var filtre = function(dataSet, row, rowNumber)
    {
    	if (row["Jour"].search(/^Lundi/) != -1)
    		return row;
    	return null;
    }
    jours.filter(filtre); 
    jours.filter(null);
    Voici le code que j'ai pu trouver, qui va me permettre d'int�grer les jours de la semaine � mon script :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function cejour() {
     var aujourdhui = new Date()
     var jour = aujourdhui.getDay()
     if (jour == 0)   = " ";
     if (jour == 1)   = " ";
     if (jour == 2)   = " ";
     if (jour == 3)   = " ";
     if (jour == 4)   = " ";
     if (jour == 5)   = " ";
     if (jour == 6)   = " ";
     }
    Comment faire avec ces �l�ments, pour modifier automatiquement la valeur de la ligne 4 de mon code de filtre XML "/^Lundi/" afin que selon le jour de la semaine le Lundi soit remplac� par Mardi, Mercredi, etc.... ?

  2. #2
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
        var days = "lundi,mardi,mercredi,jeudi,vendredi,samedi,dimanche".split(",");
        var  indiceJour = new Date().getday();
        var jourRe = new RegExp('^' + days[indiceJour],"i");
    	if (jourRe.test(row["Jour"]))
    		return row;

  3. #3
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par d�faut Merci
    Merci arnogues,

    mais je me suis tromp�, il ne s'agit pas d'une variable pour un jour , mais pour une heure, je poss�de d�j� un script sans la variable de changement de la ligne 60 du code.

    J'ai essayer de modifier le script avec l'exemple de code que vous m'avez communiqu�, mais cela ne fonctionne pas.

    Je n'ai vraiment pas beaucoup de talent dans ce domaine.



    voici le script :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <SCRIPT LANGUAGE="JavaScript">
    MaDate = new Date;
    heure = MaDate.getHours();
    function message1()
    	{
    	if (heure>7 && heure<=8)
    		{
    		MessageB = '/^08/';
    		}
    	if (heure>8 && heure<=9)
    		{
    		MessageB = '/^09/';
    		}
    	if (heure>9 && heure<=10)
    		{
    		MessageB = '/^10/';
    		}
    	if (heure>10 && heure<=11)
    		{
    		MessageB = '/^11/';
    		}
    	if (heure>11 && heure<=12)
    		{
    		MessageB = '/^12/';
    		}
    	if (heure>12 && heure<=13)
    		{
    		MessageB = '/^13/';
    		}
    	if (heure>13 && heure<=14)
    		{
    		MessageB = '/^14/';
    		}
    	if (heure>14 && heure<=15)
    		{
    		MessageB = '/^15/';
    		}
    	if (heure>15 && heure<=16)
    		{
    		MessageB = '/^16/';
    		}
    	if (heure>16 && heure<=17)
    		{
    		MessageB = '/^17/';
    		}
    	if (heure>17 && heure<=18)
    		{
    		MessageB = '/^18/';
    		}
    	if (heure>18 && heure<=19)
    		{
    		MessageB = '/^19/';
    		}
    	return MessageB;
    	}
    var horaires = new Spry.Data.XMLDataSet("conf0.xml", "Conf/Reunion", {sortOnLoad: "Heure", sortOrderOnLoad: "ascending"});
    var gRowLimit = 20
    var filtre = function(dataSet, row, rowNumber)
    {
    if (row["Heure"].search(/^10/) != -1)
    		return row;
    	return null;
    }
    horaires.filter(filtre); 
    horaires.filter(null);
    </SCRIPT>
    et puis pouvez-vous m'indiquer, quelle �tait la raison du changement de "search" en "test", dans votre exemple ?
    Lorsque j'essai dans d'autres scripts, je n'arrive pas a faire fonctionner "test", alors que "search" fonctionne....


    Enfin, ma seconde difficult� est que le code "search" n'affiche que l'heure exprim�e entre (/^10/).
    Mais je souhaites qu'elle puisse afficher � partir de l'heure donn�e.

    exemple : si j'indique
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    (row["Heure"].search(/^10/) != -1)
    j'aimerais qu'elle affiche mes donn�es a partir de 10h, donc qu'elle indique aussi 11h, 12h, etc.... (mais pas les horaires avant 10h), mais ceci est peut �tre un autre sujet......

    Merci par avance, pour les reponses � toutes mes interrogations

  4. #4
    Membre confirm�
    Femme Profil pro
    beler.fr
    Inscrit en
    Mars 2014
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : beler.fr
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Par d�faut R�cup�ration d'une variable pour une ligne de code
    Bonjour flo2tours,

    Si j�ai bien compris ta question, tu peux suivre les pas suivants :

    - ligne du code du script pour filtage
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    	if (row["Jour"].search(/^Lundi/) != -1)
    modifier en 	
    	var jour_filter = cejour();
    	if (row["Jour"].search(eval("/^"+jour_filter+"/") != -1)
    - dans la fonction cejour() modifier pour avoir le nom du jour (utilise de pr�f�rence un switch):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function cejour() {
    		var aujourdhui = new Date();
    		var jour = aujourdhui.getDay();
    		switch(jour) {
    			case "0": return "Dimanche"; break;
    			case "1": return "Lundi"; break;
    			// etc...
    		}
    	}
    bonne chance, tiens-moi au courant

  5. #5
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par d�faut
    Merci mihaela belersoft,

    Mais je souhaites filtrer par Heure et non plus par jour, comme expliqu� au d�but de ce post.

    j'ai tout de m�me essay� avec votre script, mais cela me met une erreur.

    ci-dessous, capture d'�cran de mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <script type="text/javascript">
    function cejour() {
    var aujourdhui = new Date();
    var jour = aujourdhui.getDay();
    switch(jour) {
    case "0": return "Dimanche"; break;
    case "1": return "Lundi"; break;
    case "2": return "Mardi"; break;
    case "3": return "Mercredi"; break;
    case "4": return "Jeudi"; break;
    case "5": return "Vendredi"; break;
    case "6": return "Samedi"; break;
     }
     }
    var horaires = new Spry.Data.XMLDataSet("conf01.xml", "Conf/Reunion", {sortOnLoad: "Jour", sortOrderOnLoad: "ascending"});
    var jour_filter = cejour();
    {
    if (row["Jour"].search(eval("/^"+jour_filter+"/") != -1)
    </script>
    vous trouverez en pi�ce jointe la capture d'�cran de l'erreur.

    comment faire pour que cela fonctionne et , comment filtrer selon l'heure qui est et non le jour ?

    merci par avance
    Images attach�es Images attach�es  

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    switch(jour) {
    case "0": return "Dimanche"; break;
    case "1": return "Lundi"; break;
    case "2": return "Mardi"; break;
    case "3": return "Mercredi"; break;
    case "4": return "Jeudi"; break;
    case "5": return "Vendredi"; break;
    case "6": return "Samedi"; break;
     }
    oul� !!!

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Semaine=["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"];
    alert(Semaine[jour])
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par d�faut
    d�sol� SpaceFrog ,

    n'�tant pas tr�s bon en d�veloppement,

    je n'ai pas compris

    Dois-je remplacer l'ensemble de l'ancien code cit�, par le nouveau ?

    car si , cela est le cas h�las, cela n'a rien chang�....

    toujours le m�me erreur, au m�me endroit.

    que dois-je faire, a l'aide..... ?

  8. #8
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    je n'ai pas dit que l'erreur provenait de l� ... je rationalisais justs un peu le code ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  9. #9
    Membre confirm�
    Femme Profil pro
    beler.fr
    Inscrit en
    Mars 2014
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : beler.fr
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Par d�faut javascript serch
    bonjour flo2tours,
    je te propose un exemple de fonction pour filtrer une chaine de caract�res. La chaine de caract�res peut contenir seulement une date calendaire ou le nombre d�un jour. Ca marche bien chez moi. Tu peux l�essayer et l�adapter dans ton cas. Bonne journ�e

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var myText = "12 34 cycy 56 98 09 10 03 34"; // you can put here your text to filtering...
    var current_hour = get_current_hour();
    if(myText.search(eval(current_hour)) != -1) {
    	alert("My current hour exists!");
    }
    function get_current_hour() {
    	var aujourdhui = new Date();
    	var hour = aujourdhui.getHours();
    	// ensure that your function return always two characters
    	return hour.toString().length == 1 ? "/0"+hour+"/i" : "/"+hour+"/i";
    }

  10. #10
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par d�faut
    Merci, en m'inspirant de ta proposition , j'ai finalement r�ussie un peu diff�remment et cela fonctionne !

    mais j'aimerais y ajouter 2 autres fonctions......


    le code qui fonctionne parfaitement :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <script type="text/javascript">
    MaDate = new Date;
    heure = MaDate.getHours();
    function hh()
    	{
    	if (heure>=0 && heure<=4)
    		{
    		Creneau = '04';
    		}
    	if (heure>4 && heure<=5)
    		{
    		Creneau = '05';
    		}
    		if (heure>5 && heure<=6)
    		{
    		Creneau = '06';
    		}
    	if (heure>6 && heure<=7)
    		{
    		Creneau = '07';
    		}
    	if (heure>7 && heure<=8)
    		{
    		Creneau = '08';
    		}
    	if (heure>8 && heure<=9)
    		{
    		Creneau = '09';
    		}
    	if (heure>9 && heure<=10)
    		{
    		Creneau = '10';
    		}
    	if (heure>10 && heure<=11)
    		{
    		Creneau = '11';
    		}
    	if (heure>11 && heure<=12)
    		{
    		Creneau = '12';
    		}
    	if (heure>12 && heure<=13)
    		{
    		Creneau = '13';
    		}
    	if (heure>13 && heure<=14)
    		{
    		Creneau = '14';
    		}
    	if (heure>14 && heure<=15)
    		{
    		Creneau = '15';
    		}
    	if (heure>15 && heure<=16)
    		{
    		Creneau = '16';
    		}
    	if (heure>16 && heure<=17)
    		{
    		Creneau = '17';
    		}
    	if (heure>17 && heure<=18)
    		{
    		Creneau = '18';
    		}
    	if (heure>18 && heure<=19)
    		{
    		Creneau = '19';
    		}
    	if (heure>19 && heure<=20)
    		{
    		Creneau = '20';
    		}
    	if (heure>20 && heure<=21)
    		{
    		Creneau = '21';
    		}
    	if (heure>21 && heure<=22)
    		{
    		Creneau = '22';
    		}
    	if (heure>22 && heure<=24)
    		{
    		Creneau = '23';
    		}
    	return Creneau;
    	}
    var horaires = new Spry.Data.XMLDataSet("conf01.xml", "Conf/Reunion", {sortOnLoad: "Heure", sortOrderOnLoad: "ascending"});
    var regExpStr = hh();	
    	regExpStr = "^" + regExpStr;
     
    	var regExp = new RegExp(regExpStr, "i");
     
    	var filterFunc = function(ds, row, rowNumber)
    	{
    		var str = row["Heure"];
    		if (str && str.search(regExp) != -1)
    			return row;
    		return null;
    	};
    	horaires.filter(filterFunc);
    </script>
    La premi�re fonction � ajouter, serait, de pouvoir afficher a partir d'une heure et non uniquement l'heure actuel, comme cela est le cas actuellement.

    exemple : si regExp est �gal a 10, dans (str && str.search(regExp) != -1), actuellement je vois affich� uniquement les �l�ments se produisant � 10h.
    J'aimerais plut�t qu'il affiche ceux de 10h, suivi de ceux de 11h, jusqu'� la fin de ma liste XML.

    que dois-je changer dans ma syntaxe pour arriver a ce r�sultat ?



    et enfin, le seconde fonction � ajouter, serait, de changer le fichier XML de source selon le jour de la semaine (lundi=conf01.xml, mardi=conf02.xml, etc...)
    pour cela, j'ai ajout� ce script, ci dessous, a mon script existant, mais lorsque je test le script avec la fonction 'direct" de Dreamweaver, la machine ne charge pas la page normalement, � la place s'affiche la succession des valeurs du fichier XML, du jours souhait� , a la suite sur une m�me ligne.

    j'en conclu donc que location.href n'est pas du tout adapt� a mon code, mais n'ayant qu'un tres faible niveau javascript, je ne sait pas par quoi le remplacer, pouvez-vous m'aider ?

    voici mon essai de code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function planning() {
     var aujourdhui = new Date()
     var jour = aujourdhui.getDay()
     if (jour == 0) location.href = "conf00.xml";
     if (jour == 1) location.href = "conf01.xml";
     if (jour == 2) location.href = "conf02.xml";
     if (jour == 3) location.href = "conf03.xml";;
     if (jour == 4) location.href = "conf04.xml";
     if (jour == 5) location.href = "conf05.xml";
     if (jour == 6) location.href = "conf06.xml";
     }
    var jour_xml = planning()
    var horaires = new Spry.Data.XMLDataSet("+jour_xml+", "Conf/Reunion", {sortOnLoad: "Heure", sortOrderOnLoad: "ascending"});

  11. #11
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par d�faut
    Bon avant que tu te lances dans d'autres trucs, colle nous tout ton code s'il te pla�t.
    On veut tout, le code ou il y a les jours de la semaine, les heures, etc..
    Et ensuite on va t'aider � nettoyer ce code, car c'est un beau bordel et c'est moche.

    on va par l'occasion aussi t'expliquer pour le rendre plus simple et moins tordu

Discussions similaires

  1. [D�butant] Affecter une variable d'une classe C# � une variable Javascript
    Par SultanGeek dans le forum C#
    R�ponses: 0
    Dernier message: 20/06/2015, 20h42
  2. R�ponses: 2
    Dernier message: 16/02/2010, 21h23
  3. R�ponses: 1
    Dernier message: 30/11/2009, 15h29
  4. [XL-2007] Int�grer une variable pour une cellule
    Par toinou62 dans le forum Macros et VBA Excel
    R�ponses: 4
    Dernier message: 30/04/2009, 23h41
  5. Utiliser une variable pour une source
    Par ZenBien dans le forum ActionScript 3
    R�ponses: 3
    Dernier message: 15/05/2008, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo