Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1435 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Html/Js] Envoyer une fonction quand on fait precedent

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Html/Js] Envoyer une fonction quand on fait precedent

n°1652318
chico008
what the wookie says ?
Posté le 03-12-2007 à 16:52:23  profilanswer
 

Bonjour, bon, je vais essayer d'etre clair, car c'est pas evident.
 
J'aimerais pouvoir faire en sorte que quand l'utilisateur fait un 'precedent' sur ma page, que je puisse executer un script juste avant que la page ne change.
Precent par bouton de navigation, fonction souris, ou que sais je encore.
 
Pourquoi ?
 
en fait j'ai fait un système de saisi de job qui tombe.
la liste est mise a jour regulièrement, et j'ai mis un système de flag pour pas que 2 personnes remplissent le meme job en meme temps.
quand un personne va dans la fiche du job, un flag est posé pour que personne d'autre ne puisse l'editer en meme temps, quand il a fini ce flag est enlever.
Problème tres con que j'ai constaté, si la personne fait precedent, il revient a la liste, le job n'est pas remplis, mais le flag lui reste posé, du coup plus moyen de faire la modification.
j'aimerais donc pouvoir trouver un moyen pour enlever le flag, meme quand on fait precedent, via une fonction qui execute une requete mysql par exemple.
 
J'espere que c'est comprehensible.
Merci pour votre aide.

mood
Publicité
Posté le 03-12-2007 à 16:52:23  profilanswer
 

n°1652359
SICKofitAL​L
misanthrope
Posté le 03-12-2007 à 17:26:18  profilanswer
 

tu peux essayer avec l'evenement onUnload, mais c'est sans garantie


---------------
We deserve everything that's coming...
n°1652361
chico008
what the wookie says ?
Posté le 03-12-2007 à 17:29:29  profilanswer
 

et on l'utilise comment exactement.
je fait onunload de la page qu'on quitte ?
ca s'utilise du genre < body onunload=fonction() > c'est ca ?
 
je prefere demander la car tout mon boulot est rester au taff.

n°1652367
SICKofitAL​L
misanthrope
Posté le 03-12-2007 à 17:34:35  profilanswer
 

oui c ca
c le meme principe que l'evenement load : window.onunload = taFonction;
 
Chtite doc : http://developer.mozilla.org/en/do [...] w.onunload
 
mais encore une fois, c sans garantie, j'ai jamais "joué" avec ca :spamafote:


---------------
We deserve everything that's coming...
n°1652371
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-12-2007 à 17:40:16  profilanswer
 

généralement sur le unload il est trop tard. Il vaut mieux utiliser beforeunload

n°1652374
SICKofitAL​L
misanthrope
Posté le 03-12-2007 à 17:42:03  profilanswer
 

et c compatible avec autre chose que IE ca ? :??:

 

EDIT:
ah oui ! merci pour l'info ca peut servir :jap:


Message édité par SICKofitALL le 03-12-2007 à 17:44:02

---------------
We deserve everything that's coming...
n°1652390
chico008
what the wookie says ?
Posté le 03-12-2007 à 18:11:05  profilanswer
 

beforeunload, c'est un truc de base aussi ?
effectivement, je vient d'essayer le unload, ca donne rien.
 
edit : par contre comme un peu pas faire executer de requete mysql dans un JS, j'ai voulu lui faire aller sur une page php qui enleve le flag, mais comme on fait precedent, ca marche pas.
quelqu'un a une idée pour virer mon flag avec le onbeforeunload ? la je seche completement.
Merci

Message cité 1 fois
Message édité par chico008 le 03-12-2007 à 18:37:02
n°1652454
SICKofitAL​L
misanthrope
Posté le 03-12-2007 à 21:15:59  profilanswer
 

chico008 a écrit :

beforeunload, c'est un truc de base aussi ?
effectivement, je vient d'essayer le unload, ca donne rien.
 
edit : par contre comme un peu pas faire executer de requete mysql dans un JS, j'ai voulu lui faire aller sur une page php qui enleve le flag, mais comme on fait precedent, ca marche pas.
quelqu'un a une idée pour virer mon flag avec le onbeforeunload ? la je seche completement.
Merci


C'est le moment d'utiliser l'AJAX ;)


---------------
We deserve everything that's coming...
n°1652503
chico008
what the wookie says ?
Posté le 04-12-2007 à 06:14:11  profilanswer
 

comment, connais pas AJAX (a part Lacroix)

n°1652513
flo850
moi je
Posté le 04-12-2007 à 07:34:54  profilanswer
 

xmlhttprequest , il existe des tas de tuto sur le net

mood
Publicité
Posté le 04-12-2007 à 07:34:54  profilanswer
 

n°1652540
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-12-2007 à 09:30:02  profilanswer
 

SICKofitALL a écrit :


C'est le moment d'utiliser l'AJAX ;)


moi j'aurais dit: "C'est le moment de comprendre comment fonctionne un site web"
 
AMHA, là tu essayes de faire quelque chose de complétement inutile|inefficace.

n°1652544
SICKofitAL​L
misanthrope
Posté le 04-12-2007 à 09:34:21  profilanswer
 

anapajari a écrit :


moi j'aurais dit: "C'est le moment de comprendre comment fonctionne un site web"
 
AMHA, là tu essayes de faire quelque chose de complétement inutile|inefficace.


 
c pas faux :D
il faut surement revoir le concept, mais en creusant du cote du XHR, ca peut tjrs servir plus tard ;)


---------------
We deserve everything that's coming...
n°1652602
chico008
what the wookie says ?
Posté le 04-12-2007 à 11:30:41  profilanswer
 

Bah si vous avez d'autres moyen de gerer ca je suis preneur hein.
moi j'etait parti sur mon système de flag car ca me paraissait le plus simple, mais si vous avez d'autres methodes, je suis aussi preneur.

n°1652613
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-12-2007 à 11:58:12  profilanswer
 

tu considères ton flag comme périmé au bout de X minutes (en dehors du précédent, tu peux avoir le problème du mec qui reste sur un écran et se barre en congé 3 semaines).
A chaque demande de modifs tu vérifies que le propriétaire du flag est bien celui qui fait la modif.

n°1652627
chico008
what the wookie says ?
Posté le 04-12-2007 à 12:21:32  profilanswer
 

bah y'a pas de gestion de user deja, on bosse tous dans la meme equipe.
on est 8 au max a faire ca, tous les uns a coter des autres.
ca elimine aussi le truc du mec qui part en congé, car dans tout les cas si on constate que quelqu'un a pris un job et l'a toujours pas rempli au bout de X temps (20 minutes au max), on le lui rappellera (a coup de baffes generalement :p )


Message édité par chico008 le 04-12-2007 à 12:22:10
n°1654053
chico008
what the wookie says ?
Posté le 06-12-2007 à 18:27:51  profilanswer
 

Bon, j'ai essayer avec de l'AJAX, mais ca ne donne rien.
dans ma balise body j'ai un onbeforeunload=test('1')
 
ma fonction :
function test(job)
{
if(window.XMLHttpRequest) // Firefox  
   defl = new XMLHttpRequest();  
else if(window.ActiveXObject) // Internet Explorer  
   defl = new ActiveXObject("Microsoft.XMLHTTP" );
else { // XMLHttpRequest non supporté par le navigateur  
   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
}
 
 defl.open('GET', './deflag.php?id='+job, true);
 defl.send(null);  
}
 
deflag.php
y'a rien de particulier, je recupere ma variable avec un $_GET['id'];
et je balance une requete simple type
update table set flag=0 where id='$id'
la requete marche aussi, en passant l'url a la main, ca fonctionne.
 
Par contre tout ca cumuler, ca marche pas.
J'ai remarquer qu'en faisant precedent, la fonction ne se declenchait pas, par contre si c'est un changement de page demander par un lien ou une autre fonction, la on passe bien dedans, sauf que moi c'est quand on fait un precedent que je veut qu'elle se declenche :s
 
la j'ai vraiement plus d'idée, si vous avez la solution, ou un autre methode pour ce genre de choses, je suis ouvert a toutes suggestion.


Message édité par chico008 le 06-12-2007 à 18:43:48
n°1654144
Ace17
Posté le 06-12-2007 à 20:41:48  profilanswer
 

chico008 a écrit :

si la personne fait precedent, il revient a la liste, le job n'est pas remplis, mais le flag lui reste posé

A mon avis, le clic sur "precedent" n'est qu'un cas parmi tant d'autres cas qui font que le flag reste pose ...

n°1654267
chico008
what the wookie says ?
Posté le 07-12-2007 à 08:57:29  profilanswer
 

bah pour le moment c'est le seul, le navigateur lui je craint pas la fermeture sauvage, on est tous sous FF et y'a toujours un onglet ou 2 avec une page internet.
y'a vraiement que le coup du precedent qui me gene,  
ok, on peut "eduquer" les collègues pour pas faire de precedent la dessus, mais ca arrive tellement vite aussi.


Message édité par chico008 le 07-12-2007 à 08:58:30
n°1654268
Ace17
Posté le 07-12-2007 à 09:06:19  profilanswer
 

Dans ce cas, voici une idee a la con : quand ton client charge la page de la liste de jobs, tu effaces tous les drapeaux associes a ce client. Ca resout localement ton probleme de "precedent" mais ca en cree de nouveaux, a toi de voir.

n°1654275
chico008
what the wookie says ?
Posté le 07-12-2007 à 09:24:33  profilanswer
 

bah ouais mais non, car quand tu fait precedent, tu revient a la page sans la charger, donc la requete ne s'executera pas.

n°1654288
FlorentG
Unité de Masse
Posté le 07-12-2007 à 09:45:54  profilanswer
 

Quoi que tu fasses, y'aura toujours des problèmes.
 
Le seul moyen valable, c'est d'utiliser un timeout. Si au bout de 5 minutes pas d'activité, le flag se vire...
 
C'est dans ce genre de cas qu'on voit les limites du web pour les applications :(

n°1654352
chico008
what the wookie says ?
Posté le 07-12-2007 à 11:10:15  profilanswer
 

mmm, ma page avec le listing se rechargeant automatiquement toutes les 2 minutes, je pense que je fait opter pour ca, verification de la durée du flag, si c'est a plus de 5 minutes, RAZ.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Html/Js] Envoyer une fonction quand on fait precedent

 

Sujets relatifs
Comment realiser ces fonctions (sondage,...), html,PHP?Débutant html - Insertion d'image & navigateurs
problème de fonction javascriptdésactiver une fonction...
[HTML/CSS] Besoin d'avis[Resolu] Activer la fonction mail
Afficher ma fonction date.Apprendre html et php ?
[Résolu] ][Java] Conversion d'une chaîne HTML en UnicodeEnvoyer dans une autre frame des infos via javascript
Plus de sujets relatifs à : [Html/Js] Envoyer une fonction quand on fait precedent


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR