Bug JS comparaison de valeur

Bug JS comparaison de valeur - HTML/CSS - Programmation

Marsh Posté le 24-07-2005 à 20:32:05    

Salut,
 
voila j ai un petit probleme.
j'ai un champs texte qui me permet de choisir la page à afficher. Pour qu on ne fasse pas de betise je veux verifier que la page existe bien... donc qu elle est bien comprise entre 0 et 'max'
 
voila ce que contient la fonction js :
 

Code :
  1. var page = document.pagechg.pagenum.value
  2. var max = document.pagechg.max.value // champs en hidden qui contient la page max
  3. if (page == "" | page > max | page < 0) {
  4. alert ('Vous devez entrez un numéro de page valide...')
  5. }


 
Cette fonction marche en partie...
si max = 3 et que j entre la valeur 4, le message Alert a lieu... si je met 5 ou 6 ou 7... ou 9 aussi. Des que je met un nombre a deux chiffre (10 ou 11 par exemple) ou plus ca ne marche plus... pkoi ?
 
voila formulaire :

Code :
  1. <form name=pagechg onSubmit="return false;">
  2.    page : <input type="text" size="3" style="text-align:center;" name=pagenum> / '.$page2.'
  3.    <input type=submit value="Ok" onclick="return chgpj();" class="bouton">
  4.    <input type=hidden name=topic value="'.$top.'">
  5.    <input type=hidden name=max value="'.$page2.'">
  6. </form>


 
Merci pour vos idées


Message édité par shrito le 24-07-2005 à 20:33:09
Reply

Marsh Posté le 24-07-2005 à 20:32:05   

Reply

Marsh Posté le 24-07-2005 à 20:40:51    

tu as essayé de faire un alert(page); et alert(max); pour voir s'il avait bien une valeur

Reply

Marsh Posté le 24-07-2005 à 20:41:19    

de toute facon verifie ton code HTML généré pour voir si $top et $page2 affichent bien un numéro dans la case

Reply

Marsh Posté le 24-07-2005 à 20:44:56    

ui ui ca marche... les alert confirment les valeurs

Reply

Marsh Posté le 24-07-2005 à 21:09:37    

je pense savoir pourquoi :  
tu fais une comparaison de chaines
 
le mieux serait d'évaluer tes expressions avant de les tester
 

Code :
  1. var page = eval(document.pagechg.pagenum.value);
  2. var max = eval(document.pagechg.max.value) // champs en hidden qui contient la page max  
  3. if (page == null | page > max | page < 0) {
  4. alert ('Vous devez entrez un numéro de page valide...')
  5. }

Reply

Marsh Posté le 24-07-2005 à 21:32:33    

merci, c'était bien ca :) je me doutais qu il y avait un PB de ce genre mais je trouvé pas comment le resoudre. Merci :)

Reply

Sujets relatifs:

Leave a Replay

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