Bonjour, je travaille en php avec javascript.
J'ai une page qui est rafraichie régulierement pour afficher des valeurs
d'une base de données
Cette page possède aussi un formulaire avec un champ à saisir.
Le probleme est que lorsque l'on saisit le champ et qu'un rafraichissement
survient, tout le champ est efffacé.
Est ce que je m'y prends mal ou peut on contourner le probleme
Merci de votre aide
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SAM
J-F Portala a écrit :
Bonjour, je travaille en php avec javascript. J'ai une page qui est rafraichie régulierement pour afficher des valeurs d'une base de données
rafraichissement par meta ?
si rafraichissement par JS, envoyer en variable attachée le contenu de l'input et au PHP de le remettre
Cette page possède aussi un formulaire avec un champ à saisir. Le probleme est que lorsque l'on saisit le champ et qu'un rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
cookie ?
-- sm
J-F Portala a écrit :
Bonjour, je travaille en php avec javascript.
J'ai une page qui est rafraichie régulierement pour afficher des valeurs
d'une base de données
rafraichissement par meta ?
si rafraichissement par JS,
envoyer en variable attachée le contenu de l'input
et au PHP de le remettre
Cette page possède aussi un formulaire avec un champ à saisir.
Le probleme est que lorsque l'on saisit le champ et qu'un rafraichissement
survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
Bonjour, je travaille en php avec javascript. J'ai une page qui est rafraichie régulierement pour afficher des valeurs d'une base de données
rafraichissement par meta ?
si rafraichissement par JS, envoyer en variable attachée le contenu de l'input et au PHP de le remettre
Cette page possède aussi un formulaire avec un champ à saisir. Le probleme est que lorsque l'on saisit le champ et qu'un rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
cookie ?
-- sm
J-F Portala
Merci de ta réponse qui me fait me poser pas mal de questions.
"SAM" a écrit dans le message de news: 47e2b33b$0$888$
J-F Portala a écrit :
Bonjour, je travaille en php avec javascript. J'ai une page qui est rafraichie régulierement pour afficher des valeurs d'une base de données
rafraichissement par meta ?
non par fonction javascript liée à l'événement onload.
si rafraichissement par JS, envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois tester le champ de saisie pour vérifier s'il contient quelque chose
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
Cette page possède aussi un formulaire avec un champ à saisir. Le probleme est que lorsque l'on saisit le champ et qu'un rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
si si
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
j'ai entendu dire qu'il fallait éviter les frames (iframe = frame?)
cookie ?
Je ne vois pas comment utiliser un cookie désolé de mon inculture.
Jeff
-- sm
Merci de ta réponse qui me fait me poser pas mal de questions.
"SAM" <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> a écrit dans le message
de news: 47e2b33b$0$888$ba4acef3@news.orange.fr...
J-F Portala a écrit :
Bonjour, je travaille en php avec javascript.
J'ai une page qui est rafraichie régulierement pour afficher des valeurs
d'une base de données
rafraichissement par meta ?
non par fonction javascript liée à l'événement onload.
si rafraichissement par JS,
envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois
tester le champ de saisie pour vérifier s'il contient quelque chose
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
Cette page possède aussi un formulaire avec un champ à saisir.
Le probleme est que lorsque l'on saisit le champ et qu'un
rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
si si
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
j'ai entendu dire qu'il fallait éviter les frames (iframe = frame?)
cookie ?
Je ne vois pas comment utiliser un cookie
désolé de mon inculture.
Merci de ta réponse qui me fait me poser pas mal de questions.
"SAM" a écrit dans le message de news: 47e2b33b$0$888$
J-F Portala a écrit :
Bonjour, je travaille en php avec javascript. J'ai une page qui est rafraichie régulierement pour afficher des valeurs d'une base de données
rafraichissement par meta ?
non par fonction javascript liée à l'événement onload.
si rafraichissement par JS, envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois tester le champ de saisie pour vérifier s'il contient quelque chose
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
Cette page possède aussi un formulaire avec un champ à saisir. Le probleme est que lorsque l'on saisit le champ et qu'un rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
si si
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
j'ai entendu dire qu'il fallait éviter les frames (iframe = frame?)
cookie ?
Je ne vois pas comment utiliser un cookie désolé de mon inculture.
Jeff
-- sm
Olivier Miakinen
Le 20/03/2008 21:38, J-F Portala a écrit :
si rafraichissement par JS, envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois tester le champ de saisie pour vérifier s'il contient quelque chose
Je ne dirais pas « tester » car cela suppose que tu veuilles faire une chose différente selon que le contenu est vide ou pas. Il te suffit, dans la nouvelle requête faite par Javascript, d'envoyer le contenu du champ quel qu'il soit (donc, qu'il soit vide ou non).
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
N'est-ce pas avec PHP que tu génères la page ? Si oui, c'est donc bien à lui d'envoyer une page qui contiendra déjà le contenu qui avait été saisi par l'utilisateur.
Le 20/03/2008 21:38, J-F Portala a écrit :
si rafraichissement par JS,
envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois
tester le champ de saisie pour vérifier s'il contient quelque chose
Je ne dirais pas « tester » car cela suppose que tu veuilles faire une
chose différente selon que le contenu est vide ou pas. Il te suffit,
dans la nouvelle requête faite par Javascript, d'envoyer le contenu du
champ quel qu'il soit (donc, qu'il soit vide ou non).
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
N'est-ce pas avec PHP que tu génères la page ? Si oui, c'est donc bien
à lui d'envoyer une page qui contiendra déjà le contenu qui avait été
saisi par l'utilisateur.
si rafraichissement par JS, envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois tester le champ de saisie pour vérifier s'il contient quelque chose
Je ne dirais pas « tester » car cela suppose que tu veuilles faire une chose différente selon que le contenu est vide ou pas. Il te suffit, dans la nouvelle requête faite par Javascript, d'envoyer le contenu du champ quel qu'il soit (donc, qu'il soit vide ou non).
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
N'est-ce pas avec PHP que tu génères la page ? Si oui, c'est donc bien à lui d'envoyer une page qui contiendra déjà le contenu qui avait été saisi par l'utilisateur.
SAM
J-F Portala a écrit :
si rafraichissement par JS, envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois tester le champ de saisie pour vérifier s'il contient quelque chose
non, on s'en moque on envoie la donnée vide et elle revient vide, pas plus.
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
<?php
$chp = truc machin php de récup de la variable de l'url;
# les trucs via base de donnée # et autre codes php nécessaires ?>
rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
si si
Non, avec une page normale rafraichie par meta, les contenus des champs sont gardés (en tous cas avec les brouteurs que je pratique)
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
j'ai entendu dire qu'il fallait éviter les frames (iframe = frame?)
Pour le référencement, et pour la mise en favoris ce n'est pas recommandé. Tu a besoin que ta page rafraichissante soit connue du monde ?
Et puis d'abord, elle sert à quoi ? La BdD évolue tout le temps ? à chaque instant ?
cookie ?
Je ne vois pas comment utiliser un cookie
on remplit le champ, on en sort, le JS crée ou renseigne un ccokie (qui est gardé sur le DD du visiteur)
à l'ouverture de la page le JS interroge le cookie et va re-remplir le champ
C'est quand même plus propre que ce soit le php qui remplisse le champ.
désolé de mon inculture.
c'est un peu compliqué juste pour une valeur d'un champ <http://fr.selfhtml.org/javascript/objets/document.htm#cookie> <http://fr.selfhtml.org/javascript/exemples/visites_pages.htm>
-- sm
J-F Portala a écrit :
si rafraichissement par JS,
envoyer en variable attachée le contenu de l'input
Est ce que cela veut dire que dans la fonction de rafraichissement, je dois
tester le champ de saisie pour vérifier s'il contient quelque chose
non, on s'en moque
on envoie la donnée vide et elle revient vide, pas plus.
et au PHP de le remettre
j'avoue que je ne voie pas le role de PHP ici
<?php
$chp = truc machin php de récup de la variable de l'url;
# les trucs via base de donnée
# et autre codes php nécessaires
?>
rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
si si
Non, avec une page normale rafraichie par meta, les contenus des champs
sont gardés (en tous cas avec les brouteurs que je pratique)
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
j'ai entendu dire qu'il fallait éviter les frames (iframe = frame?)
Pour le référencement, et pour la mise en favoris ce n'est pas recommandé.
Tu a besoin que ta page rafraichissante soit connue du monde ?
Et puis d'abord, elle sert à quoi ?
La BdD évolue tout le temps ? à chaque instant ?
cookie ?
Je ne vois pas comment utiliser un cookie
on remplit le champ,
on en sort,
le JS crée ou renseigne un ccokie (qui est gardé sur le DD du visiteur)
à l'ouverture de la page le JS interroge le cookie et va re-remplir le champ
C'est quand même plus propre que ce soit le php qui remplisse le champ.
désolé de mon inculture.
c'est un peu compliqué juste pour une valeur d'un champ
<http://fr.selfhtml.org/javascript/objets/document.htm#cookie>
<http://fr.selfhtml.org/javascript/exemples/visites_pages.htm>
rafraichissement survient, tout le champ est efffacé.
Ce n'est pas normal. si ?
si si
Non, avec une page normale rafraichie par meta, les contenus des champs sont gardés (en tous cas avec les brouteurs que je pratique)
Est ce que je m'y prends mal ou peut on contourner le probleme
avoir une iframe où la page mentholée est affichée ?
j'ai entendu dire qu'il fallait éviter les frames (iframe = frame?)
Pour le référencement, et pour la mise en favoris ce n'est pas recommandé. Tu a besoin que ta page rafraichissante soit connue du monde ?
Et puis d'abord, elle sert à quoi ? La BdD évolue tout le temps ? à chaque instant ?
cookie ?
Je ne vois pas comment utiliser un cookie
on remplit le champ, on en sort, le JS crée ou renseigne un ccokie (qui est gardé sur le DD du visiteur)
à l'ouverture de la page le JS interroge le cookie et va re-remplir le champ
C'est quand même plus propre que ce soit le php qui remplisse le champ.
désolé de mon inculture.
c'est un peu compliqué juste pour une valeur d'un champ <http://fr.selfhtml.org/javascript/objets/document.htm#cookie> <http://fr.selfhtml.org/javascript/exemples/visites_pages.htm>
ne sert qu'à avoir une url différente à chaque appel (afin de forcer le rechargement depuis le serveur et non depuis le cache)
Un chiffre aléatoire pouvant avoir deux fois de suite la même valeur, j'utiliserais plutôt quelque chose de réellement unique comme le nbr de millisecondes depuis le 01/01/1970 00:00:00 (new Date().getTime()). <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Date:getTime>
'&v='+(new Date().getTime())
Sinon sans tester, je crois que ça peut "fonctionner" la 1ere fois puis après c'est tout cassé. Je m'explique :
ne sert qu'à avoir une url différente à chaque appel
(afin de forcer le rechargement depuis le serveur et non depuis le cache)
Un chiffre aléatoire pouvant avoir deux fois de suite la même valeur,
j'utiliserais plutôt quelque chose de réellement unique comme le nbr de
millisecondes depuis le 01/01/1970 00:00:00 (new Date().getTime()).
<http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Date:getTime>
'&v='+(new Date().getTime())
Sinon sans tester, je crois que ça peut "fonctionner" la 1ere fois puis
après c'est tout cassé. Je m'explique :
ne sert qu'à avoir une url différente à chaque appel (afin de forcer le rechargement depuis le serveur et non depuis le cache)
Un chiffre aléatoire pouvant avoir deux fois de suite la même valeur, j'utiliserais plutôt quelque chose de réellement unique comme le nbr de millisecondes depuis le 01/01/1970 00:00:00 (new Date().getTime()). <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Date:getTime>
'&v='+(new Date().getTime())
Sinon sans tester, je crois que ça peut "fonctionner" la 1ere fois puis après c'est tout cassé. Je m'explique :
Merci de vos differentes réponses, j'ai essayé de mon cote d'empecher le rafrachissement lorsque le champ est en cours de saisie.
J'ai mis un evenement keyup sur le champ nomchamp qui me lance la fonction testChamp(). J'utilise la variable globale val.
global val=0 ; function testChamp() { if ( document.form.nomChamp.value.length > 0 ) val = 1; else val = 0 ; } function refresh1() { if ( val == 0 ) self.location=self.location ; else refresh() ; }
function refresh() { window.setTimeout("refresh1()",5000) ; }
Au debut du document. onload=refresh()
Cela fonctionne. Le rafraichissement s'arret dès que le champ est en cours de saisie. Si l'on efface le champ, le rafraichissement recommence.
Cela me parait un peu lourd. Le champ peut être rempli avec une douchette code barre et là je ne sais pas si l'evenement keyup est géré.
Comment peut on améliorer ou simplifier ?
emrci de votre aide
Jeff
Merci de vos differentes réponses,
j'ai essayé de mon cote d'empecher le rafrachissement lorsque le champ
est en cours de saisie.
J'ai mis un evenement keyup sur le champ nomchamp qui me lance la fonction
testChamp().
J'utilise la variable globale val.
global val=0 ;
function testChamp()
{
if ( document.form.nomChamp.value.length > 0 )
val = 1;
else
val = 0 ;
}
function refresh1()
{
if ( val == 0 )
self.location=self.location ;
else
refresh() ;
}
function refresh()
{
window.setTimeout("refresh1()",5000) ;
}
Au debut du document.
onload=refresh()
Cela fonctionne. Le rafraichissement s'arret dès que le champ est en cours
de saisie.
Si l'on efface le champ, le rafraichissement recommence.
Cela me parait un peu lourd.
Le champ peut être rempli avec une douchette code barre et là je ne sais pas
si l'evenement keyup est géré.
Merci de vos differentes réponses, j'ai essayé de mon cote d'empecher le rafrachissement lorsque le champ est en cours de saisie.
J'ai mis un evenement keyup sur le champ nomchamp qui me lance la fonction testChamp(). J'utilise la variable globale val.
global val=0 ; function testChamp() { if ( document.form.nomChamp.value.length > 0 ) val = 1; else val = 0 ; } function refresh1() { if ( val == 0 ) self.location=self.location ; else refresh() ; }
function refresh() { window.setTimeout("refresh1()",5000) ; }
Au debut du document. onload=refresh()
Cela fonctionne. Le rafraichissement s'arret dès que le champ est en cours de saisie. Si l'on efface le champ, le rafraichissement recommence.
Cela me parait un peu lourd. Le champ peut être rempli avec une douchette code barre et là je ne sais pas si l'evenement keyup est géré.
Comment peut on améliorer ou simplifier ?
emrci de votre aide
Jeff
SAM
J-F Portala a écrit :
Merci de vos differentes réponses, j'ai essayé de mon cote d'empecher le rafrachissement lorsque le champ est en cours de saisie.
var val = false; function refresh() { var v = document.monfForm.monChamp.value; if(!val || v=='' || v.length<1) self.location=self.location; setTimeout(refresh, 5000); // normalement pas besoin de else } onload = function(){setTimeout(refresh, 5000);};
si, du moment que le champ a qque chose ou qu'on vient de cliquer dans le champ ou qu'il vient d'avoir le focus (par touche tab par exemple), il n'y a plus à rafraichir
-- sm
J-F Portala a écrit :
Merci de vos differentes réponses,
j'ai essayé de mon cote d'empecher le rafrachissement lorsque le champ
est en cours de saisie.
var val = false;
function refresh() {
var v = document.monfForm.monChamp.value;
if(!val || v=='' || v.length<1) self.location=self.location;
setTimeout(refresh, 5000); // normalement pas besoin de else
}
onload = function(){setTimeout(refresh, 5000);};
si, du moment que le champ a qque chose ou qu'on vient de cliquer dans
le champ ou qu'il vient d'avoir le focus (par touche tab par exemple),
il n'y a plus à rafraichir
var val = false; function refresh() { var v = document.monfForm.monChamp.value; if(!val || v=='' || v.length<1) self.location=self.location; setTimeout(refresh, 5000); // normalement pas besoin de else } onload = function(){setTimeout(refresh, 5000);};
si, du moment que le champ a qque chose ou qu'on vient de cliquer dans le champ ou qu'il vient d'avoir le focus (par touche tab par exemple), il n'y a plus à rafraichir