Probleme avec mes evenements

Probleme avec mes evenements - HTML/CSS - Programmation

Marsh Posté le 06-10-2004 à 12:15:52    

voila j'ai un probleme de dynamisme dans mes forms, j'aimerai que ça soit plus "spontané"...
 
 
look at this : http://www.clonecopy.net/php/devis/index_etape1.php
 
quand je change mes nombres de pages, tant que j'ai pas cliqué sur un autre truc... le calcul ne se fait pas... ya pas moyen de faire mieux ?
 
Genre le calcul se rafraichisse tout seul sans evenement particulier?
 
Merchi !
 
Freed


Message édité par freed102 le 06-10-2004 à 12:18:08
Reply

Marsh Posté le 06-10-2004 à 12:15:52   

Reply

Marsh Posté le 06-10-2004 à 12:45:59    

Je pensse que tu devrais pouvoir le faire ... en detectant l'event qu'une touche du clavier est pressée et dire que chaque fois qu'une touche est pressée => refresh

Reply

Marsh Posté le 06-10-2004 à 12:50:06    

esox_ch a écrit :

Je pensse que tu devrais pouvoir le faire ... en detectant l'event qu'une touche du clavier est pressée et dire que chaque fois qu'une touche est pressée => refresh


 
+1

Reply

Marsh Posté le 06-10-2004 à 13:18:00    

esox_ch a écrit :

Je pensse que tu devrais pouvoir le faire ... en detectant l'event qu'une touche du clavier est pressée et dire que chaque fois qu'une touche est pressée => refresh


c pas une mauvaise idée... cela dit c quoi comme event ? OnKeyPress?

Reply

Marsh Posté le 06-10-2004 à 13:20:55    

j'avais deja mis "onKeydown" en fait.. mais bon c pas suffisant :(

Reply

Marsh Posté le 06-10-2004 à 13:24:27    

freed102 a écrit :

c pas une mauvaise idée... cela dit c quoi comme event ? OnKeyPress?


 
uép :  
onkeypress
onkeyup
onkeydown  
 
devrait faire l'affaire  ;)  
 
http://www.mozilla.org/docs/dom/do [...] ml#1000062


Message édité par simogeo le 06-10-2004 à 13:26:13

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 06-10-2004 à 13:25:42    

c peut etre ma fonction qui n'est pas bonne ? je maitrise pas du tout le javascript alors j'ai fait la fonction un peu comme en suivant mon intuition :
 

Code :
  1. function Somme()
  2. {
  3. A= document.getElementById('id_nb_pages_nb').value;
  4. B= document.getElementById('id_nb_pages_coul').value;
  5. if(Number(A)<0 || Number(B)<01)
  6. {
  7. output="Une valeur est négative !<br/>";
  8. resultat=document.getElementById('erreur');
  9. resultat.innerHTML = output;
  10. //resultat2= Number(A) + Number(B);
  11. output2 = "###";
  12. resultat2=document.getElementById('id_nb_pages');
  13. resultat2.innerHTML = output2;
  14. }
  15. if(!isNaN(A)<0 || !isNaN(B)<0)
  16. {
  17. output="Une valeur est négative !<br/>";
  18. resultat=document.getElementById('erreur');
  19. resultat.innerHTML = output;
  20. //resultat2= Number(A) + Number(B);
  21. output2 = "###";
  22. resultat2=document.getElementById('id_nb_pages');
  23. resultat2.innerHTML = output2;
  24. }
  25. else
  26. {
  27. output="";
  28. resultat=document.getElementById('erreur');
  29. resultat.innerHTML = output;
  30. resultat2= Number(A) + Number(B) + " pages";
  31. output2 = resultat2;
  32. resultat2=document.getElementById('id_nb_pages');
  33. resultat2.innerHTML = output2;
  34. }
  35. }

Reply

Marsh Posté le 06-10-2004 à 13:28:32    

ohhohh, t'as essayé onkeydown   ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 06-10-2004 à 13:28:39    

simogeo a écrit :

uép :  
onkeypress
onkeyup
onkeydown  
 
devrait faire l'affaire  ;)  
 
http://www.mozilla.org/docs/dom/do [...] ml#1000062


 
ouai mais ça reagit que quand j'ai tapé au moins deux caracteres... :(

Reply

Marsh Posté le 06-10-2004 à 13:30:48    

freed102 a écrit :

ouai mais ça reagit que quand j'ai tapé au moins deux caracteres... :(


oui mais ca, ca doit venir de ta fonction.
 
d'aileurs ca c'est bizarre non ? (en gras)
 
if(Number(A)<0 || Number(B)<01)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 06-10-2004 à 13:30:48   

Reply

Marsh Posté le 06-10-2004 à 13:33:03    

oui ça je pense que c une erreur.. mais je viens de corriger.. et j'ai toujours un caractere de retard ! :(

Reply

Marsh Posté le 06-10-2004 à 13:57:05    

Code :
  1. function Somme()
  2. {
  3. A= document.getElementById('id_nb_pages_nb').value;
  4. B= document.getElementById('id_nb_pages_coul').value;
  5.        
  6.         // pour être sur qu'il traite les valeurs vides correctemment
  7. if(A=='') A=0;
  8. if(B=='') B=0;
  9.         // 0 n'est pas négatif ....
  10. if(Number(A)<=0 || Number(B)<=0)
  11. {
  12. output="Une valeur est négative !<br/>";
  13. resultat=document.getElementById('erreur');
  14. resultat.innerHTML = output;
  15. //resultat2= Number(A) + Number(B);
  16. output2 = "###";
  17. resultat2=document.getElementById('id_nb_pages');
  18. resultat2.innerHTML = output2;
  19. }
  20.        
  21. // if(!isNaN(A)<0 || !isNaN(B)<0) ca veut rien dire ca ou un truc m'echappe
  22.         if(!isNaN(A) || !isNaN(B))
  23. {
  24. output="Une valeur n'est pas numérique !<br/>";
  25. resultat=document.getElementById('erreur');
  26. resultat.innerHTML = output;
  27. //resultat2= Number(A) + Number(B);
  28. output2 = "###";
  29. resultat2=document.getElementById('id_nb_pages');
  30. resultat2.innerHTML = output2;
  31. }
  32. else
  33. {
  34. output="";
  35. resultat=document.getElementById('erreur');
  36. resultat.innerHTML = output;
  37. resultat2= Number(A) + Number(B) + " pages";
  38. output2 = resultat2;
  39. resultat2=document.getElementById('id_nb_pages');
  40. resultat2.innerHTML = output2;
  41. }
  42. }


 
je viens de faire qq modifs, j'ai rien testé mais je pense que c'est déjà un peux mieux  [:canth]


Message édité par simogeo le 06-10-2004 à 13:57:59

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 06-10-2004 à 14:20:48    

Merchi !!!  :jap:  
J'ai même recorrigé un truc
 

Code :
  1. if(isNaN(A) || isNaN(B))
  2.     {
  3.     output="Une valeur n'est pas numérique !<br/>";
  4.     resultat=document.getElementById('erreur');
  5.     resultat.innerHTML = output;
  6.    
  7.     output2 = "###";
  8.     resultat2=document.getElementById('id_nb_pages');
  9.     resultat2.innerHTML = output2;
  10.     }


 
car sinon avec : if(!isNaN(A) || !isNaN(B))  
 
il me reponde "une valeur n'est pas numérique"
 
isNaN = Is Not a Numeric ou Is Not a Number (je crois)


Message édité par freed102 le 06-10-2004 à 14:21:09
Reply

Marsh Posté le 06-10-2004 à 14:26:02    

cela dit mon prob persiste... je comprends pas pourquoi j'ai un temps de retard sur mon calcul !:(


Message édité par freed102 le 06-10-2004 à 14:26:29
Reply

Marsh Posté le 06-10-2004 à 14:42:02    

freed102 > ué exact pour if(isNaN(A) || isNaN(B))  
 
je te conseille de mettre deas alertes js ds ton code pour tracer tes variables et leurs valeurs !
 
onkeydown  sur le body est completement inutile ....
 


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 06-10-2004 à 14:49:39    


Citation :

onkeydown  sur le body est completement inutile ....


 
 
ça c t un essai... faut que je les retire car sur les pages suivantes ya des erreurs avec mes includes (qui n'utilisent pas du tout cette fonction)
 
Des alertes c à dire? alert('Attention blabla bla !!);  ???


Message édité par freed102 le 06-10-2004 à 14:49:54
Reply

Marsh Posté le 06-10-2004 à 15:10:04    

freed102 a écrit :


 
Des alertes c à dire? alert('Attention blabla bla !!);  ???


 
ué mais plutot du style :
 
alert('nb pages n&b : '+A+' nb pages couleurs : '+B);
 
 
et place en aussi ds tes tests pour voir s'ils sont bien pris en compte !


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 06-10-2004 à 15:33:25    

ouai mais en fait je me rends compte que le probleme peut venir d'autre part, je m'explique :
 
voici les actions dans mon champ de formulaire :
 
onkeydown="Somme(); if (this.value=='' || this.value<=0) { document.nb.src = '/images/shemas/shemas1/nb.gif'; } else { document.nb.src = '/images/shemas/shemas1/nb-nb.gif'; }"
 
ya deux action :
 
la somme
et le swapimage
 
et en fait je remarque que j'ai un retard egalement pour le swap image... donc je pense pas que ça vienne de ma fonction Somme()

Reply

Marsh Posté le 06-10-2004 à 17:00:45    

ce qui est bizarre dans mon script c que quand je sors  
 
A= document.getElementById('id_nb_pages_nb').value;
B= document.getElementById('id_nb_pages_coul').value;  
 
de ma fonction, un erreur JS me dit "Objet Requis"
 
:??:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed