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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JAVASRIPT] HELP ! Chargement page en fonction d'un test sur TEXTAREA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVASRIPT] HELP ! Chargement page en fonction d'un test sur TEXTAREA

n°1922792
toutalesi
Posté le 09-09-2009 à 23:43:45  profilanswer
 

Bonjour,
 
Je m'arrache les cheveux depuis des heures sur un problème.  :pfff:  
Si vous pouviez m'aider, ça m'éviterait une nuit blanche...  :pt1cable:  
Je précise que je suis carrément novice en programmation...  :cry:  
 
Voilà, je souhaite charger une page en fonction d'une valeur entrée dans un champ TEXTAREA.
 
Aujourd'hui, ce code simplicime fonctionne :
 

Code :
  1. <script language="JavaScript">
  2. function ChangeUrl(frm)
  3.  {
  4.  var numero=document.frm.reprise.value;
  5.  var dest_ok = numero+".php";
  6. location.href = dest_ok;
  7. }
  8. </script>


 
Suivi dans le BODY de :
 

Code :
  1. <form name="frm">
  2. <INPUT TYPE="text" name="reprise" size="1" value="">
  3. <INPUT TYPE="button" value="Charger" onClick="ChangeUrl(frm)">
  4. </form>


 
Comme mes pages de destination ont des noms allant de 000.php à 514.php par exemple, j'aimerais épargner à l'utilisateur la contrainte de devoir tapper 007 s'il veut aller à la page 007.php. Aussi, je pensais simplement à faire un test genre :
 
SI numero < 10  
ALORS dest_ok = "00"+numero+".php"
SINON
SI numero < 100  
ALORS dest_ok = "0"+numero+".php"
SINON  
SI numero > 514
ALORS alert (Valeur trop élevée)
SINON
dest_ok = numero+".php"
 
Et là, je ne sais plus faire.
Le bouton "Charger" n'a aucune réaction dès que je tente le moindre test.
J'ai carrément l'impression que les chiffres entrés dans le TEXTAREA ne sont pas considérés comme des valeurs numérique, ce qui doit empêcher le bon fonctionnement du test.
 
Avez-vous un code solution ?

mood
Publicité
Posté le 09-09-2009 à 23:43:45  profilanswer
 

n°1922803
Pascal le ​nain
Posté le 10-09-2009 à 00:55:18  profilanswer
 

Salut  :hello:  
 
Attention, ce que tu utilises est un input text et non pas un textarea.
 
Pour ton problème, ton raisonnement tient la route. Cela vient sans doute d'une erreur de synthaxe.
Télécharger WebDeveloper (https://addons.mozilla.org/fr/firefox/addon/60).
C'est une barre génial pour coder du web.
Sur cette barre à droite, tu auras une petite icone verte qui sera rouge s'il y a des erreurs javascript. Clique dessus pour savoir exactement où elle est.
 
Fais nous part de tes observations.
 
A+  ;)

n°1922807
toutalesi
Posté le 10-09-2009 à 01:28:30  profilanswer
 

Merci Pascal le nain pour le conseil.
Je crois que la confusion entre TEXTAREA et INPUT TEXT que tu as relevé m'a mis la puce à l'oreille.
Ainsi, en consultant quelques tutos, je pense avoir trouvé un code qui fonctionne :
 

Code :
  1. <script language="JavaScript">
  2. function ChangeUrl(frm)
  3.  {
  4.  var numero=Number(document.frm.reprise.value);
  5. if (numero < 10) {
  6. var dest_ok = "00"+numero+".php";
  7. }
  8. else {
  9. if (numero <100) {
  10. var dest_ok = "0"+numero+".php";
  11. }
  12. else {
  13. var dest_ok = numero+".php";
  14. }
  15. }
  16. location.href = dest_ok;
  17. }
  18. </script>


 
Apparemment, il fallait forcer en Number le contenu de mon champ.
 
Merci encore pour le coup de pouce !  :love:

n°1923074
abais
Posté le 10-09-2009 à 17:47:06  profilanswer
 

Sinon, dans ton cas, plutôt que de contrôler les tranche de chiffres, j'aurai tendance à profité que la variable soit en string pour rajouter "00" devant numéro, puis de forcer à tronquer la chaine pour n'en garder que les 3 derniers caractère...
Comme ça, si on entre 70, on fini par avoir 0070, et si on garde que les 3 dernier carctère, on recupère bien 070...
Ensuite, vérifier que ce soit bien 3 numéro (via Regex pour se compliquer la vie ^^)), puis si c'est inférieur à 514, OK

 

Du style :

 
Code :
  1. <script language="JavaScript">
  2. function ChangeUrl(frm)
  3. {
  4. var numero = "00"+document.frm.reprise.value;
  5. numero.substr(-3);
  6.  
  7. if ((numero.match(new RegExp("^\d{3}$" ))) && (Number(numero)<514)){
  8.   location.href = numero+".php";
  9. }
  10. else {
  11.   alert("numero de page incorect" )
  12. }
  13. </script>

Message cité 1 fois
Message édité par abais le 10-09-2009 à 17:53:10

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1923237
Pascal le ​nain
Posté le 11-09-2009 à 11:40:17  profilanswer
 

abais a écrit :

Sinon, dans ton cas, plutôt que de contrôler les tranche de chiffres, j'aurai tendance à profité que la variable soit en string pour rajouter "00" devant numéro, puis de forcer à tronquer la chaine pour n'en garder que les 3 derniers caractère..


Mauvais plan je dirais. J'ai aussi pensé à ça, mais 2 conditions sont bien plus efficaces que cette suite d'opérations  ;)
 
edit : quoique... il est vrai qu'avec cette solution là on évite de convertir les string en int... Je sais pas... Ca me semble équivalent...


Message édité par Pascal le nain le 11-09-2009 à 11:42:53
n°1923256
abais
Posté le 11-09-2009 à 12:13:43  profilanswer
 

C'est une solution qui me paraissait plus adapté .
 
Après je ne suis que graphiste sans prétention
J'ai mauvaiseuu réputation...
Quand je code, je ne dessineuu pas...
Je passe pour un je ne sais quoi...
...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1923499
Pascal le ​nain
Posté le 11-09-2009 à 22:10:46  profilanswer
 

Tu ne fais pourtant de mal à personne...
En critiquant les programmeurs qui grognent...


Message édité par Pascal le nain le 11-09-2009 à 22:11:34
n°1923541
gatsu35
Blablaté par Harko
Posté le 12-09-2009 à 08:47:46  profilanswer
 

Pascal le nain a écrit :

Salut  :hello:  
 
Attention, ce que tu utilises est un input text et non pas un textarea.
 
Pour ton problème, ton raisonnement tient la route. Cela vient sans doute d'une erreur de synthaxe.
Télécharger WebDeveloper (https://addons.mozilla.org/fr/firefox/addon/60).
C'est une barre génial pour coder du web.
Sur cette barre à droite, tu auras une petite icone verte qui sera rouge s'il y a des erreurs javascript. Clique dessus pour savoir exactement où elle est.
 
Fais nous part de tes observations.
 
A+  ;)


FIREBUG  :o  :o  :o  :o  :o  :o  :o  :o  :o  :o  :o


---------------
Blablaté par Harko
n°1923546
Pascal le ​nain
Posté le 12-09-2009 à 09:38:44  profilanswer
 

Moi j'ai les deux :)


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

  [JAVASRIPT] HELP ! Chargement page en fonction d'un test sur TEXTAREA

 

Sujets relatifs
Problème avec la fonction SCardTransmitOpacité d'une image en fonction de l'avancement d'un preload
Code barre bizarre(need help urgent)[JS] Pb avec un page de javascripts et module open flash chart
page de messagehelp pour les regex de mon .htaccess
créer page automatiquement en php membre Calcul de l'inverse d'une fonction de répartition
HELP: A propos d'un Loader 3DS en DelphCATIA V5 - Automatiser la fonction search
Plus de sujets relatifs à : [JAVASRIPT] HELP ! Chargement page en fonction d'un test sur TEXTAREA


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