OVH Cloud OVH Cloud

enregistrement serveur

4 réponses
Avatar
vivi
Bonjour,
Je veux mettre en ligne une application contenant des controles (entre 200
et 300) qui seraient validés en temps réel par les postes clients.
Les vues sont rafraichies de maniere reguliere par la balise refresh (toutes
les 30 secondes). Mon souci est de reafficher, apres un refresh ou une
reconnection d'utilisateur, les infos precedemment saisies . La solution la
plus simple - et surtout la plus rapide sans recourir à une base de données
ou un simple fichier - me parait etre l'enregistrement de la page en cours
coté serveur. Mon probleme est que je ne trouve aucune reference à cette
possibilité. Existe-t-il une astuce via Javascript (ou autre) ? L'objet
window ne possède pas de fonction "save" ?
D'avance merci.

4 réponses

Avatar
ASM
Bonjour,
Je veux mettre en ligne une application contenant des controles (entre 200
et 300) qui seraient validés en temps réel par les postes clients.
Les vues sont rafraichies de maniere reguliere par la balise refresh (toutes
les 30 secondes).


Et comment, dans ce cas, indiques-tu qu'il faut enregistrer au refresh ?

Mon souci est de reafficher, apres un refresh ou une
reconnection d'utilisateur, les infos precedemment saisies .


Chez moi, il n'y a aucun pb, au refresh les infos (entrées de champs)
sont gardées et ré-affichées.
Quel navigateur ne fait pas comme ça ?

La solution la
plus simple - et surtout la plus rapide sans recourir à une base de données
ou un simple fichier - me parait etre l'enregistrement de la page en cours
coté serveur. Mon probleme est que je ne trouve aucune reference à cette
possibilité. Existe-t-il une astuce via Javascript (ou autre) ? L'objet
window ne possède pas de fonction "save" ?


On ne peut *rien* enregistrer en JS

Tu peux tenter de créer une adresse avec celle de la page + les champs
en variables attachées
<input onchange="var url=window.location;
url += (url.indexOf('?')<0)? '?':'&'; url += this.name+'='+this.value;"

mais que va en faire le meta-refresh ?
utiliser alors un rafraichissement par JS

D'avance merci.


sinon, utiliser les cookies



--
Stephane Moriaux et son [moins] vieux Mac

Avatar
vivi
"ASM" a écrit dans le message
de news:44a78fe8$0$870$

Et comment, dans ce cas, indiques-tu qu'il faut enregistrer au refresh ?
en fait l'enregistrement se ferait lors de la modification d'un champ par
un utilisateur


Chez moi, il n'y a aucun pb, au refresh les infos (entrées de champs) sont
gardées et ré-affichées.
Quel navigateur ne fait pas comme ça ?
j'utilise des champs texte, la validation par un utilisateur affiche
l'heure et colore le champ (vert et rouge pour OK et non OK). Le refresh

garde la valeur entrée mais pas la couleur du champ.

Tu peux tenter de créer une adresse avec celle de la page + les champs en
variables attachées
<input onchange="var url=window.location;url += (url.indexOf('?')<0)?
'?':'&'; url += this.name+'='+this.value;"
mais que va en faire le meta-refresh ?
sur 300 ou 400 champs et avec un refresh souhaité de 30 secondes ça me
semble effectivement un peu tordu.

je devrais peut-être essayer de colorer le champ côté serveur avec php (que
je ne maîtrise pas vraiment) plutôt que côté client avec javascript ?

Merci pour ces pistes.


Avatar
ASM
"ASM" a écrit dans le message
de news:44a78fe8$0$870$

Et comment, dans ce cas, indiques-tu qu'il faut enregistrer au refresh ?
en fait l'enregistrement se ferait lors de la modification d'un champ par
un utilisateur


Chez moi, il n'y a aucun pb, au refresh les infos (entrées de champs) sont
gardées et ré-affichées.
Quel navigateur ne fait pas comme ça ?
j'utilise des champs texte, la validation par un utilisateur affiche
l'heure et colore le champ (vert et rouge pour OK et non OK). Le refresh

garde la valeur entrée mais pas la couleur du champ.


il suffit donc de faire vérifier la valeur du champ et le re-colorer en
fonction de celle-ci

function verif(champ) {
champ = champ || document.forms[0].elements[champ];
if(champ.value.length>0)
champ.style.background = champ.value=='OK'? 'green' : 'red';
}

onload = function() {
var f = document.forms[0];
for(var i=0;i<f.length;i++)
if(f[i].type=='text') verif(f[i]);
}

ou s'il n'y a que les champs nommés heures, minutes, secondes

onload = function() {
verif('heures');
verif('minutes');
verif('secondes');
}


--
Stephane Moriaux et son [moins] vieux Mac


Avatar
vivi
"ASM" a écrit dans le message
de news:44a83423$0$830$
"ASM" a écrit dans le
message


de news:44a78fe8$0$870$

Et comment, dans ce cas, indiques-tu qu'il faut enregistrer au refresh ?
en fait l'enregistrement se ferait lors de la modification d'un champ
par



un utilisateur

Chez moi, il n'y a aucun pb, au refresh les infos (entrées de champs)
sont


gardées et ré-affichées.
Quel navigateur ne fait pas comme ça ?
j'utilise des champs texte, la validation par un utilisateur affiche
l'heure et colore le champ (vert et rouge pour OK et non OK). Le refresh

garde la valeur entrée mais pas la couleur du champ.


il suffit donc de faire vérifier la valeur du champ et le re-colorer en
fonction de celle-ci

function verif(champ) {
champ = champ || document.forms[0].elements[champ];
if(champ.value.length>0)
champ.style.background = champ.value=='OK'? 'green' : 'red';
}

onload = function() {
var f = document.forms[0];
for(var i=0;i<f.length;i++)
if(f[i].type=='text') verif(f[i]);
}

ou s'il n'y a que les champs nommés heures, minutes, secondes

onload = function() {
verif('heures');
verif('minutes');
verif('secondes');
}


Excellente idée, je vais adopter cette solution.
Il me faut juste trouver une astuce pour faire la distinction entre un
horodatage OK et non OK pour afficher la couleur verte ou rouge. Je pense
que je vais utiliser un format d'heure different pour les 2 cas.
Encore merci pour ton aide.